Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 2.91 KB

README.md

File metadata and controls

87 lines (62 loc) · 2.91 KB

E-NDP service personne

Python 3.9 eNDP API CI coverage

FastAPI - API SQLite - DB Flask - admin SQLAlchemy -  orm

Description

Ce dépôt contient le service personnes e-NDP, qui se décline de la manière suivante :

  • la base de données (données intiales comprises) pour les personnes;
  • l'interface d'administration pour la BD des personnes;
  • l'API (+ documentation Swagger) pour interroger la BD des personnes.

Installation

En local, cloner le dépôt GitHub :

git clone git@github.com:chartes/endp-api.git

Puis exécuter les commandes suivantes :

virualenv --python=python3.8 venv
source venv/bin/activate
pip install -r requirements.txt

Lancer l'API

Les tâches courantes sont réalisées avec le script run.sh.

Pour une première initialisation de la base de données ou pour la recréer et lancer l'application :

   ./run.sh dev -db

Pour lancer l'application seule (ignorer l'argument -db) :

   ./run.sh dev

Pour contrôler le bon fonctionnement de l'application :

Identifiants par défaut pour l'authentification à l'interface d'administration pour le développement et les tests :

  • username : admin
  • password : admin

Ajouter un utilisateur

   python3 manage.py create-user --username <username> --email <email> --password <password>

Modifier un mot de passe

    python3 manage.py reset-password -u <username> -p <new_password>  

Contrôle de la qualité du code et tests unitaires

La qualité du code et les tests unitaires sont réalisés via la CI GitHub Actions. Cependant, pour lancer les tests en local :

cd tests/
# 1. lancer le contrôle de la qualité du code
# rendre le scripts exécutable (si nécessaire)
chmod +x linter.sh
./linter.sh
# 2. lancer les tests unitaires
pytest
# 3. lancer la couverture de code
pytest --cov