Découpage par domaines
Statut
Document de cadrage backend — version initiale.
Position
DMV utilise une organisation inspirée du découpage par domaines métier. Le projet n'applique pas nécessairement un Domain-Driven Design strict, mais il sépare déjà les responsabilités par modules fonctionnels.
L'objectif est pragmatique : rendre le backend lisible, maintenable et aligné sur les applications de l'écosystème.
Domaines visibles
| Domaine | Responsabilité |
|---|---|
Identity | Authentification, profils, utilisateur courant, rôles. |
Territory | Communes, élus, collectes, informations communales. |
Actor | Acteurs locaux, tags, documents, claims, XP. |
Publication | Publications, types, scopes, modération, signalements. |
Community | Contributeurs, groupes, favoris. |
Monetization | Plans, abonnements, boosts, Stripe. |
Settings | Paramètres applicatifs, feature tabs. |
Analytics | Statistiques et agrégats. |
PlayLoop | Devices, playlists, médias, campagnes. |
AssoSuite | Membres, cotisations, invitations, projets, publications associatives. |
Chat | Salons, messages, read receipts. |
Mairie | Alertes, services, publications mairie. |
Admin | Administration transversale. |
Principes de dépendance
- Un module doit exposer ses capacités via services et routes.
- Un module ne doit pas manipuler directement les détails internes d'un autre sans convention claire.
- Les dépendances transverses doivent rester explicites.
- Les modules applicatifs ne doivent pas contourner Identity, Authorization ou Policies.
Frontières métier
Une frontière métier est nécessaire quand :
- les règles évoluent indépendamment ;
- les droits sont différents ;
- les données ont un cycle de vie propre ;
- l'application cible est différente ;
- les tests peuvent être organisés séparément.
État actuel vs cible
| Sujet | État actuel | Cible |
|---|---|---|
| Modules | Dossiers par domaine visibles. | Frontières et dépendances documentées. |
| Services | Présents dans la plupart des domaines. | Cas d'usage métier isolés et testables. |
| Policies | Présentes sur plusieurs modules. | Autorisations systématiques sur écritures sensibles. |
| Context | Présent dans Publication. | Contextes métier explicites quand les scopes sont complexes. |
Points à clarifier
- Cartographie des dépendances autorisées entre modules.
- Règles communes pour les scopes de publication.
- Place des services transverses : médias, notifications, IA Gateway.
- Gouvernance des données partagées entre modules.