Chargement...
Chargement...
Quizzam est une API backend REST développée avec NestJS, démontrant la maîtrise de patterns d'architecture logicielle modernes. Ce projet a été développé de A à Z dans le cadre d'une formation, avec un focus particulier sur l'architecture modulaire et la séparation des responsabilités.
NestJS a été choisi plutôt que Node.js pur pour son architecture prédéfinie et son support TypeScript natif, facilitant le développement en équipe et garantissant une meilleure maintenabilité du code. Contrairement à Node.js qui manque d'architecture logicielle standard, NestJS impose des règles et conventions qui structurent le projet.
L'application implémente une architecture permettant de basculer entre différentes bases de données via l'injection de dépendances (MongoDB, Firebase) sans modifier la logique métier, avec un adapter In-Memory pour les tests. Le pattern CQRS sépare les opérations de lecture et d'écriture, ce qui peut améliorer les performances, la scalabilité et la sécurité d'une application (même si dans notre cas, c'est un petit projet fictif qui ne scale pas).
Le système d'authentification est également flexible, supportant JWT et Firebase Auth selon la configuration. Des tests E2E complets avec Supertest et des tests unitaires avec Jest garantissent la qualité du code.