svc-notifications
1. Rôle et responsabilités
Notifications multicanales (email, SMS, in-app portail), modèles de messages, préférences des usagers, traçabilité des envois. Consomme les événements métier via des règles de routage configurées ; les fournisseurs SMTP et SMS sont derrière des ports.
2. Modèle de domaine (agrégats)
3. API exposée
API REST versionnée, contrat OpenAPI généré et versionné avec le service. Authentification par jeton Keycloak (JWT RS256) validé par le service (Quarkus OIDC).
4. Événements publiés
5. Événements consommés
Topics sigfga.<service>.<aggregate> · enveloppe CloudEvents 1.0 · publication via outbox pattern · consommateurs idempotents (déduplication par event id).
6. Dépendances synchrones
7. Flux principal
8. Backlog Jira rattaché
42 tickets du backlog Jira se rattachent à ce service, via 2 épics :
| Épic | Intitulé | Enfants |
|---|---|---|
| FSD-1012 | [PORT] Notifications et communication | 24 |
| FSD-1075 | [PORT] Notifications et suivi des échanges · clôturée en v2 (fusion) | — |
9. Implémentation
Structure hexagonale standard : domain (modèle, événements, services purs, sans dépendance framework), application (use cases, ports in/out, transactions), adapter (in/rest, in/messaging, out/persistence, out/messaging, out/client). Dépendances verrouillées par test ArchUnit. Base de données dédiée (schéma PostgreSQL propre), migrations Liquibase (changesets exclusivement en SQL formaté — ADR-0002). Code intégralement en anglais ; textes utilisateur en fichiers i18n français.