Open sainple0001 opened 9 months ago
Merci des conseils, mais c'est une formation que je suivais et j'ai laissé ça de côté pour l'instant car trop complexe pour moi. Je suis au début et je recommence sur archi hexagonale simple en node ts express et tdd.
Je reprendrais ça quand j'aurai appris nestjs aussi ...
Merci de ton message.
Remarques sur l'implémentation de la Clean Architecture dans le projet NestJS
Description du Problème
Actuellement, plusieurs aspects de l'implémentation du projet NestJS ne respectent pas les meilleures pratiques recommandées. Ces points incluent l'absence de noms de route au niveau du contrôleur, l'absence d'annotations
ApiOperation
etApiResponse
, le manque de gestion des erreurs avec des clausestry-catch
, l'absence d'exceptions spécifiques au projet, et la configuration non optimale du compilateur TypeScript. Les interfaces, enum, types, DTO, etc., sont directement codés dans les classes au lieu d'être regroupés dans des dossiers spécifiques tels que 'Model'.Recommandations
Noms de Route et Annotations Swagger
Ajouter des noms de route significatifs au niveau des contrôleurs et utiliser les annotations
ApiOperation
etApiResponse
pour documenter de manière appropriée les API.Gestion des Erreurs
Introduire des blocs
try-catch
pour la gestion robuste des erreurs et des exceptions spécifiques au projet.Configuration TypeScript
Configurer le compilateur TypeScript avec les options suivantes :
true
pour renforcer la vérification des types null.true
pour éviter les types implicites "any" dans le code.Proposition de Changement
Exemple de Noms de Route et Annotations Swagger
Configuration TypeScript
Avantages
Amélioration de la documentation des API avec Swagger:
Renforcement de la gestion des erreurs:
Amélioration de la sécurité et de la robustesse du code grâce à des exceptions spécifiques:
Déplacement toutes les interfaces, enum, types, DTO, etc.
Configuration TypeScript optimisée:
Tâches Associées
Ajouter des noms de route et des annotations Swagger aux contrôleurs:
Implémenter la gestion des erreurs avec des blocs try-catch:
Configurer le fichier tsconfig.json avec les options recommandées:
Déplacer les interfaces, enum, types, DTO, etc., dans les dossiers appropriés.
Discussion
J'ouvre cette issue pour discuter des avantages mentionnés