Ce projet est réalisé avec Poetry et FastAPI. Il fournit une API simple pour gérer les étudiants et leurs notes.
- FastAPI : Un framework web moderne et rapide pour construire des APIs avec Python 3.6+.
- Poetry : Gestion des dépendances et packaging de Python simplifiés.
Vous pouvez accéder à la documentation Swagger pour FastAPI à l'URL suivante :
L'application fonctionne à l'URL suivante :
Pour installer les dépendances, exécutez la commande suivante :
poetry install
poetry run uvicorn main:app --reload
Pour créer un nouvel étudiant, utilisez la commande curl suivante :
curl -X POST "http://127.0.0.1:8000/student/" -H "Content-Type: application/json" -d '{
"first_name": "Jane",
"last_name": "Smith",
"email": "jane.smith@example.com",
"grades": [
{"course": "maths", "score": 12},
{"course": "science", "score": 15}
]
}'
Pour récupérer un étudiant par son ID, utilisez la commande curl suivante :
curl -X GET "http://127.0.0.1:8000/student/{student_id}"
Pour supprimer un étudiant par son ID, utilisez la commande curl suivante :
curl -X DELETE "http://127.0.0.1:8000/student/{student_id}"
Pour récupérer une note spécifique pour un étudiant par son ID étudiant et ID de note, utilisez la commande curl suivante :
curl -X GET "http://127.0.0.1:8000/student/{student_id}/grades/{grade_id}"
Pour supprimer une note spécifique pour un étudiant par son ID étudiant et ID de note, utilisez la commande curl suivante :
curl -X DELETE "http://127.0.0.1:8000/student/{student_id}/grades/{grade_id}"
Pour exporter la liste des étudiants en format csv
curl -X GET "http://127.0.0.1:8000/export?format=csv"
Pour exporter la liste des étudiants en format json
curl -X GET "http://127.0.0.1:8000/export?format=json"
Voici la commande pour lancer les tests
rm -rf .pytest_cache/ && poetry run pytest