Projet API complet
Objectif
Créer une API complète avec une base de données MongoDB, un serveur Express et Mongoose.
Attention
Le projet suivant a été généré avec la version du 12 septembre 2025 du générateur express typescript. Il se peut que certaines parties du code ne fonctionnent pas avec les versions plus récentes du générateur.
Simulacre
Pour tester un projet complet en mongoose, il faut utiliser un simulacre.
Voici la séquence d'appel normal :
Voici la séquence d'appel avec le simulacre (notez que le simulacre intercepte les appels à mongoose pour éviter de toucher à la BD :
Étape 1 - Initialisation du projet
Générer le projet avec le générateur express-typescript :
consolenpx express-generator-typescript auteur_mongoose_simulacre
Ajouter le module Mongoose à votre application :
consolenpm install mongoose
Ajouter les tests de mongoose :
consolenpm i @jazim/mock-mongoose -D
Étape 2 - Préparer la connexion à la base de données
Créer la variable d'environnement pour l'URI de MongoDB :
config/.env.development{!auteur_mongoose_simulacre/config/.env.development!}
Configurer EnvVars pour exposer la variable d'environnement :
src/common/EnvVars.ts{!auteur_mongoose_simulacre/src/common/constants/ENV.ts!}
Démarer la connexion à MongoDB :
src/index.ts{!auteur_mongoose_simulacre/src/index.ts!}
Étape 3 - Créer le schéma Mongoose
src/models/Auteur.ts{!auteur_mongoose_simulacre/src/models/Auteur.ts!}
Étape 4 - Créer le repo
src/repos/AuteurRepo.ts{!auteur_mongoose_simulacre/src/repos/AuteurRepo.ts!}
Étape 5 - Créer le service
src/services/AuteurService.ts{!auteur_mongoose_simulacre/src/services/AuteurService.ts!}
Étape 6 - Créer la route
src/routes/AuteurRoutes.ts{!auteur_mongoose_simulacre/src/routes/AuteurRoutes.ts!}
Étape 7 - Créer le chemin de l'API
src/common/constants/Paths.ts{!auteur_mongoose_simulacre/src/common/constants/Paths.ts!}
Étape 8 - Consolider les routes dans l'API
src/routes/index.ts{!auteur_mongoose_simulacre/src/routes/index.ts!}
Tests unitaires automatiques
Étape 1 - Créer le test de l'API
tests/auteur.test.ts{!auteur_mongoose_simulacre/tests/auteur.test.ts!}
Étape 2 - Exécuter les tests de l'API