NestJS est un framework fantastique, mais sa flexibilité peut devenir un piège si l'on ne suit pas des règles strictes.
Dans cet article, nous allons voir comment structurer une application Node.js capable de passer de quelques milliers à plusieurs millions d'utilisateurs.
Les 3 Piliers
- Modularité : Chaque feature est un module isolé.
- Indépendance : Le domaine ne doit pas dépendre du framework.
- Observabilité : Des logs clairs et un tracing distribué.
1. Structure de Dossiers
Au lieu de grouper par type (controllers, services), groupez par domaine :
src/
modules/
auth/
dto/
entities/
auth.controller.ts
auth.service.ts
auth.module.ts
users/
payments/
2. Architecture Hexagonale
L'idée est de séparer votre coeur métier (le domaine) de l'infrastructure (base de données, API externes).
Le domaine ne devrait jamais importer quelque chose depuis
@nestjs/common.
C'est une règle d'or pour garder votre code testable et pérenne.
Conclusion
Une bonne architecture demande plus d'efforts au début, mais vous fait gagner des mois de maintenance par la suite.