API de Gestion des Étudiants

Ce projet est réalisé avec Poetry et FastAPI. Il fournit une API simple pour gérer les étudiants et leurs notes.

Vue d'ensemble du projet

  • 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.

Documentation de l'API

Vous pouvez accéder à la documentation Swagger pour FastAPI à l'URL suivante :

Documentation Swagger FastAPI

URL de l'application

L'application fonctionne à l'URL suivante :

URL de l'application

Installation

Pour installer les dépendances, exécutez la commande suivante :

poetry install

Lancement

poetry run uvicorn main:app --reload

Endpoints de l'API

Créer un étudiant

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}
    ]
}'

Récupérer un étudiant

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}"

Supprimer un étudiant

Pour supprimer un étudiant par son ID, utilisez la commande curl suivante :

curl -X DELETE "http://127.0.0.1:8000/student/{student_id}"

Récupérer une note

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}"

Supprimer une note

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}"

Exporter en CSV

Pour exporter la liste des étudiants en format csv

curl -X GET "http://127.0.0.1:8000/export?format=csv"

Exporter en JSON

Pour exporter la liste des étudiants en format json

curl -X GET "http://127.0.0.1:8000/export?format=json"

Commande de test

Voici la commande pour lancer les tests

rm -rf .pytest_cache/ && poetry run pytest