PasTonPermis est une plateforme qui connecte élèves, auto-écoles et inspecteurs. L'API est le cœur du système, et sa conception a dû anticiper plusieurs contraintes.
L'API suit les principes RESTful classiques avec une couche d'authentification JWT et un système de rôles (admin, école, élève, inspecteur). Chaque ressource est accessible via des endpoints dédiés :
GET /api/v1/students — Liste des élèves
POST /api/v1/students — Inscription
GET /api/v1/lessons — Planning des leçons
POST /api/v1/lessons — Créer une leçon
PUT /api/v1/progress/:id — Mettre à jour le suivi
Le système utilise un middleware d'autorisation qui vérifie le rôle JWT avant chaque requête protégée. Les endpoints sont segmentés par niveau d'accès :
Les endpoints de recherche et listing utilisent Redis pour le cache (TTL configurable). Les créneaux de planning sont pré-générés pour réduire les temps de réponse sur les requêtes les plus fréquentes.
L'API est documentée avec OpenAPI/Swagger. La spec est générée automatiquement depuis les validateurs de routes, ce qui garantit qu'elle reste toujours à jour.