https://github.com/simonrenoult/playground
Playground to test design and architecture patterns
https://github.com/simonrenoult/playground
cqrs ddd event-driven-architecture hateoas
Last synced: 4 months ago
JSON representation
Playground to test design and architecture patterns
- Host: GitHub
- URL: https://github.com/simonrenoult/playground
- Owner: simonrenoult
- Created: 2021-12-27T11:11:56.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-06-15T23:47:42.000Z (over 3 years ago)
- Last Synced: 2025-01-08T08:45:32.773Z (9 months ago)
- Topics: cqrs, ddd, event-driven-architecture, hateoas
- Language: TypeScript
- Homepage:
- Size: 431 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Formations
## Getting started
```sh
$ npm ci
$ npm test
```## TODO
### Domaines
- Un domaine d'analytics/statistiques
### DDD
- [x] Appliquer les patterns tactiques (agrégats, entités, value-objects, repositories)
- [x] Appliquer les patterns stratégiques (bounded-contexts, ubiquitous language)
- [x] Identifier l'ubiquitous language
- Générer la context map### Infrastructure
- [x] Exposer sur une API
- [x] HATEOAS
- [x] Swagger
- [x] Implémenter la persistence
- [x] 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.)### Architecture
- [x] Distinguer read/write
- [x] Faire de la clean architecture
- [x] Modulariser le monolithe en s'appuyant sur les bounded contexts
- [x] 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### Pattern
- [x] Implémenter le pattern memento
- [x] Implémenter le pattern factory
- Implémenter le pattern Result
- Meilleure gestion des erreurs### Living documentation
- [x] Générer la documentation du bounded context
- [x] Faire des liens dans le summary vers la doc des patterns
- [x] 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)### Tests
- [x] Gherkin