Ce cours t'apprendra à développer de meilleurs logiciels plus rapidement grâce au TDD (Test-Driven Development) et à l'architecture hexagonale avec une application pratique en TypeScript / Node.JS
Tu y verras notamment :
Comment définir des exemples servant de critères d'acceptation et permettant d'éviter les longues discussions autour de quiproquos grâce à l'Example Mapping
Comment structurer un test unitaire dans le code pour éviter qu'il soit fragile et te permettre de refactorer ton code sereinement
L'importance de l'inversion de dépendances, principe SOLID extrêmement important pour t'assurer un logiciel plus facilement maintenable et évolutif
Comment créer des fixtures et des builders pour nos tests unitaires et créer une DSL (Domain Specific Language) pour créer des tests unitaires plus rapidement que tu ne l'as jamais vu !
Comment gérer le code lié à l'infrastructure (base de données, système de fichiers, etc,) sans polluer la logique métier
Comment tester l'infrastructure grâce à des tests d'intégration isolés avec TestContainer
Comment organiser ses fichiers et ses dossiers selon le principe de la Screaming Architecture
Comment bien séparer Data Model et Domain Model avec Prisma et PostgreSQL
Comment utiliser un Presenter pour gérer le retour des use cases de façon découplée, évolutive, et maintenable
Comment se servir d'un framework (NestJS) pour gagner du temps, sans s'y coupler
Pourquoi et comment implémenter des tests end-to-end
J'y montre pas à pas comment je développe une application avec une architecture hexagonale, en me basant ici sur une version du kata Social Network, un Kata fait pour ressembler à un vrai projet, et pas juste un exercice rapide !
On simulera l'apparition de nouveaux besoins, comme dans la vraie vie d'un projet.
On verra donc comment ajouter la juste dose de complexité nécessaire dans l'architecture sans que ça devienne de la complexité accidentelle.
Je pars de simples fichiers non structurés, sans arborescences de dossiers, exécutable uniquement en ligne de commande, à une application réalisée avec le framework NestJS et exposant une API HTTP. Le tout en TDD, avec des tests d'intégration, et des tests end-to-end.
520
55
TAKE THIS COURSE