Services backend
NxPay est compose de 11 microservices NestJS qui suivent le pattern Clean Architecture.
Liste des services
| Service | Port | Description |
|---|---|---|
| auth | 3001 | Authentification, Firebase custom tokens, gestion des sessions |
| ledger-wallets | 3002 | Grand livre comptable, portefeuilles, transactions XAF/XOF |
| customer-profiles-kyc | 3003 | Profils clients, verification d'identite, niveaux KYC |
| orchestrator | 3004 | Point d'entree API, routage inter-services, workflows |
| notifications | 3005 | SMS, push, email, notifications in-app |
| configuration | 3006 | Parametres applicatifs, feature flags, configs dynamiques |
| file-service | 3007 | Upload, stockage et gestion des fichiers et documents |
| providers-gateway | 3008 | Integration operateurs Mobile Money, passerelles de paiement |
| risk-engine | 3009 | Detection de fraude, scoring de risque, regles anti-blanchiment |
| service-catalog | 3010 | Catalogue de services dynamique |
| logs-reporting | 3011 | Journalisation, audit trail, rapports d'activite |
Clean Architecture
Chaque service respecte des couches strictes :
Controller → Use Case → Repository → EntityRegles :
- Les controllers ne doivent jamais acceder aux repositories directement
- Les use-cases medient entre controllers et repositories
- Les entities sont des objets metier purs (pas de dependance framework)
Communication inter-services
Les services communiquent via HTTP REST a travers le pattern orchestrateur :
- Le client appelle l'orchestrator (
/api/*) - L'orchestrator route vers le service concerne
- Pour les workflows multi-services (ex: inscription), l'orchestrator coordonne les appels
Flux d'authentification
Client → Phone + PIN → API → Firebase custom token → Bearer headerBase de donnees
- PostgreSQL : base de donnees principale, partagee par les services
- Redis : cache et sessions
- TypeORM 0.3.27 : ORM avec migrations SQL manuelles
Docker networking
Tous les services partagent le reseau bridge nxpay-network en mode Docker.