032026
Corelab
plateforme e-learning
Plateforme de formation au développement, cours et examens en QCM, construite en équipe avec une API Express et une base MongoDB. Ma part couvre les modèles de données et les routes : authentification JWT, contrôle d’accès par rôles, et le CRUD des cours, leçons, quiz et résultats.
- Modèles de données et routes de l’API
- Authentification JWT et contrôle d’accès par rôles
- CRUD des cours, leçons, quiz et résultats
La démarche
Le besoin
Corelab est une plateforme de formation au développement : des cours à suivre, des examens en QCM pour vérifier ce qui est retenu, et une administration pour les gérer.
Ma part
C’est un projet d’équipe, et je m’y suis occupé du serveur : les modèles de données et les routes.
Choix importants
Les modèles fixent la forme de tout le reste : utilisateur, cours, leçon, quiz, résultat, notification. Écrits avec Mongoose, ce sont eux qui décident ce qu’un élève possède, ce qu’un cours contient, et ce qu’est un quiz : une suite de questions à choix, chacune avec sa bonne réponse, et un seuil au-delà duquel l’examen est réussi. Une route ne rattrape pas un modèle mal posé.
Comment ça tourne
Les routes suivent : le CRUD des cours, des leçons et des quiz, l’enregistrement des résultats, la progression d’un élève, la comparaison d’un score au seuil de réussite, la programmation d’une leçon à une date, l’import d’utilisateurs avec génération du mot de passe par bcrypt, et le mot de passe choisi à la première connexion. L’accès passe par un middleware qui vérifie le jeton JWT puis le rôle, et le formulaire de connexion est validé par Zod avant d’atteindre quoi que ce soit.