Skip to content

Services backend

NxPay est compose de 11 microservices NestJS qui suivent le pattern Clean Architecture.

Liste des services

ServicePortDescription
auth3001Authentification, Firebase custom tokens, gestion des sessions
ledger-wallets3002Grand livre comptable, portefeuilles, transactions XAF/XOF
customer-profiles-kyc3003Profils clients, verification d'identite, niveaux KYC
orchestrator3004Point d'entree API, routage inter-services, workflows
notifications3005SMS, push, email, notifications in-app
configuration3006Parametres applicatifs, feature flags, configs dynamiques
file-service3007Upload, stockage et gestion des fichiers et documents
providers-gateway3008Integration operateurs Mobile Money, passerelles de paiement
risk-engine3009Detection de fraude, scoring de risque, regles anti-blanchiment
service-catalog3010Catalogue de services dynamique
logs-reporting3011Journalisation, audit trail, rapports d'activite

Clean Architecture

Chaque service respecte des couches strictes :

Controller  →  Use Case  →  Repository  →  Entity

Regles :

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

  1. Le client appelle l'orchestrator (/api/*)
  2. L'orchestrator route vers le service concerne
  3. Pour les workflows multi-services (ex: inscription), l'orchestrator coordonne les appels

Flux d'authentification

Client → Phone + PIN → API → Firebase custom token → Bearer header

Base 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.

NxPay — Plateforme fintech CEMAC