🎓 Projet noté — Titre RNCP niveau 6 Concepteur Développeur d'Applications (Bac+3/4)
Aston École Informatique — 2021
API REST conçue et développée de A à Z dans le cadre de l'obtention du Titre RNCP niveau 6 à Aston École Informatique.
L'API alimente une application mobile Android (voir quizz-android) qui consomme les endpoints via authentification JWT.
- 🔐 Authentification utilisateur par JWT (inscription / connexion / token)
- 📚 Gestion des catégories de quiz
- ❓ Gestion des questions et réponses associées
- 🏆 Calcul et enregistrement des scores par utilisateur
- 👤 Gestion des profils utilisateurs
- 📖 Documentation automatique Swagger / OpenAPI via API Platform
| Élément | Technologie |
|---|---|
| Framework | Symfony |
| API | API Platform |
| Langage | PHP |
| Base de données | MySQL |
| Authentification | JWT (LexikJWTAuthenticationBundle) |
| Architecture | REST, DTO pattern |
| Documentation | Swagger / OpenAPI |
- DTO (Data Transfer Objects) — séparation entre les entités Doctrine et les données exposées par l'API
- API Platform — génération automatique des endpoints CRUD et documentation Swagger
- JWT — sécurisation des routes privées via token Bearer
- Doctrine ORM — gestion de la base de données relationnelle
User
└── Score (1 user → N scores)
Category
└── Question (1 category → N questions)
└── Answer (1 question → N answers)
Score
├── User
└── Category
# Cloner le repo
git clone https://github.com/MaxGsprd/quizz-api.git
cd quizz-api
# Installer les dépendances
composer install
# Configurer l'environnement
cp .env .env.local
# Renseigner DATABASE_URL et JWT_SECRET dans .env.local
# Créer la base de données
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate
# Générer les clés JWT
php bin/console lexik:jwt:generate-keypair
# Lancer le serveur
symfony server:startUne fois le serveur lancé, la documentation Swagger est accessible sur :
http://localhost:8000/api/docs
Projet réalisé dans un contexte de formation — le code reflète le niveau acquis en 2021.
Ce repo illustre la conception d'une API REST complète avec Symfony et API Platform : authentification JWT, pattern DTO, documentation automatique Swagger.
Voir aussi : quizz-android — application mobile Android consommant cette API