MboloPay DDD · Hexagonal
Mini mobile money éducatif gabonais — vitrine exécutable de Domain-Driven Design, Architecture Hexagonale et Spring Modulith sur un cas métier réel (Airtel, Moov, FCFA).
Pourquoi
Apprendre l’architecture par la pratique, pas par la slide. La plupart des cours sur DDD, l’architecture hexagonale ou Spring Modulith restent abstraits — diagrammes, théories, « il faut », « il faut pas ». MboloPay prend l’angle inverse : un système exécutable, observable, animé, qui rend les concepts visibles à l’exécution.
Le domaine choisi est volontairement familier au Gabon : un mini mobile money avec souscripteurs, portefeuilles, transactions, validations contre les opérateurs Airtel et Moov, montants en FCFA.
Ce que le projet expose
Trois disciplines combinées sur un seul cas métier :
- Domain-Driven Design — aggregats, value objects (Numero, Montant, IdSouscripteur), événements de domaine, ubiquitous language en français
- Architecture Hexagonale — séparation stricte domaine / ports / adapters, isolation des dépendances Spring
- Spring Modulith — bounded contexts modulaires (
identite,portefeuille,shared), communication par événements, ArchUnit pour enforcer les frontières architecturales en tests automatisés
Comment c’est rendu visible
L’application n’est pas seulement correcte — elle est pédagogique. Cinq dispositifs rendent l’architecture observable depuis l’interface :
- Cycle d’opération en 13 étapes — chaque commande passe par une animation step-by-step (réception, validation, persistance, événement, projection)
- Slow-mo des événements de domaine — les événements sont ralentis pour montrer la propagation entre contextes
- Traversée des couches hexagonales — chaque traversée (UI → port → use case → repository) est mise en surbrillance
- Inspector HTTP live — toutes les requêtes/réponses sont visibles en temps réel dans une console embarquée
- Page
/architecture— académie avec 11 cartes glossaire et exemples de code
Stack et choix techniques
- Backend : Java 25, Spring Boot 4.0.2, Spring Modulith 2.0.2, jMolecules 0.33 (annotations DDD), ArchUnit 1.4 (tests d’architecture), H2 in-memory
- Frontend : TypeScript 5, Lit 3.3 (Web Components), Material Web 2.4, esbuild — orchestré par Maven, aucune installation npm requise
- Lancement :
./mvnw spring-boot:runpuishttp://localhost:8080
Cible
Étudiants, formateurs, développeurs qui veulent voir une architecture hexagonale en mouvement plutôt que la lire dans un PDF. Le projet sert aussi de support pour les ateliers GDG Libreville sur les architectures modulaires Spring.
Code
- Repo — github.com/bangaromaric/mbolopay
- Licence — MIT
- Captures —
docs/assets/(accueil, slow-mo, page architecture, inspector HTTP)
Besoin d'expertise Spring Boot 4 ?
Consulting, formation entreprise, ou conférence — discutons d'un projet ou d'une intervention.