$ npm ci
$ npm test
- Un domaine d'analytics/statistiques
- Appliquer les patterns tactiques (agrégats, entités, value-objects, repositories)
- Appliquer les patterns stratégiques (bounded-contexts, ubiquitous language)
- Identifier l'ubiquitous language
- Générer la context map
- Exposer sur une API
- HATEOAS
- Swagger
- Implémenter la persistence
- Implémenter un injecteur de dépendances
- Définir la ci/cd
- Dockeriser l'application
- Déployer quelque part
- Chemins absolus plutôt que relatifs pour les imports
- Correlation-id
- RabbitsMQ pour le messaging entre composants
- Log
- Configuration/Environnement
- Feature flags
- Utiliser un système de build universel pour faciliter le monorepo (bazel, nx, etc.)
- Distinguer read/write
- Faire de la clean architecture
- Modulariser le monolithe en s'appuyant sur les bounded contexts
- Déléguer aux modules/bounded-context l'enregistrement des apis, gestionnaires, etc.
- Implémenter un frontend
- Implémenter de l'event sourcing
- Persistence des messages/piste de log
- Optimistic concurrency
- Versionner les agrégats
- Script vérifiant la clean archi
- Script vérifiant l'indépendance read/write
- Script vérifiant l'indépendance des bounded contexts
- Implémenter le pattern memento
- Implémenter le pattern factory
- Implémenter le pattern Result
- Meilleure gestion des erreurs
- Générer la documentation du bounded context
- Faire des liens dans le summary vers la doc des patterns
- Générer des
visites
- Documenter les bonnes pratiques
- Générer le C4 context
- Générer un site statique de documentation
- Générer un BC Canva
- Associer les commandes aux évènements émis
- Associer les questions aux modèles de lecture
- Identifier les communications entrantes et sortantes inbound/outbound ( voir : https://github.com/ddd-crew/bounded-context-canvas#inbound-communication)
- Gherkin