Skip to content

Playground to test design and architecture patterns

Notifications You must be signed in to change notification settings

simonrenoult/playground

Repository files navigation

Formations

Getting started

$ npm ci
$ npm test

TODO

Domaines

  • Un domaine d'analytics/statistiques

DDD

  • 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

Infrastructure

  • 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.)

Architecture

  • 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

Pattern

  • Implémenter le pattern memento
  • Implémenter le pattern factory
  • Implémenter le pattern Result
  • Meilleure gestion des erreurs

Living documentation

  • 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)

Tests

  • Gherkin

About

Playground to test design and architecture patterns

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages