Documentation du projet
Fonctionnalites
- Formulaire d'inscription avec nom, prenom, email, date de naissance, ville et code postal.
- Bouton de sauvegarde desactive tant que tous les champs ne sont pas remplis.
- Validation complete avant sauvegarde.
- Sauvegarde des inscriptions valides dans MySQL via FastAPI.
- Liste publique avec informations reduites : prenom, nom, email.
- Compte admin permettant de voir les informations privees et de supprimer un inscrit.
Architecture Docker
db: MySQL avec migrations dansmigrations/.adminer: interface d'administration MySQL sur le port 8081.server: API Python FastAPI sur le port 8000.react: build Vite servi par nginx sur le port 3000.
Administrateur
L'administrateur est insere au premier demarrage MySQL depuis les variables ADMIN_EMAIL et ADMIN_PASSWORD. Les valeurs locales par defaut sont loise.fenoll@ynov.com et PvdrTAzTeR247sDnAZBr.
API
GET /healthverifie l'API et la base.GET /usersretourne la liste publique.POST /userscree une inscription.GET /admin/users/:idretourne les donnees privees avec Basic Auth admin.DELETE /admin/users/:idsupprime un inscrit avec Basic Auth admin.
Tests et qualite
pnpm run coverage
python -m pytest server
pnpm run test:infra
pnpm run cy:runCI/CD
GitHub Actions construit le front, lance les tests frontend avec couverture, lance les tests backend, demarre Docker pour les tests d'infrastructure, lance Cypress, deploie le front sur GitHub Pages et deploie l'API sur Vercel.