Skip to content
StableAudienceDevSécuritéQAAudit banqueOwner@architecture-teamDernière revue2026-05-21

C4 — Containers (niveau 2)

Décomposition de la plateforme Nex en containers exécutables : apps, dashboards, microservices, datastores.

Diagramme

Containers

Apps mobiles (3)

AppPort devBundleAudience
Nex (mobile-client)Metrocom.noki.services.nokipayConsumer
Nex Pro (mobile-pro)Metrocom.paywithnex.proAgent, master-agent
Nex Business (mobile-business)Metrocom.paywithnex.businessMerchant

Toutes en Expo SDK 55 / React Native 0.83 / React 19.2 / Zustand, partagent les packages @nex/tokens, @nex/ui-mobile, @nex/mobile-auth.

Dashboards web (2)

DashboardStackAudience
CMMSNuxt 4.2.2 / Nuxt UI 4.3 / Tailwind v4Ops, support, KAM, compliance
BackofficeNuxt 4.2.2 / Nuxt UI 4.3 / Tailwind v4Administration plateforme

Microservices NestJS (11)

ServicePortResponsabilitéFiche
Auth3001PIN, OTP, Firebase custom tokens, sessions, devices, QR
Ledger Wallets3002Soldes, écritures double-entrée, intents, cards
Customer Profiles & KYC3003People, contacts, KYC, KYB, merchants, merchant_members
Orchestrator3004Point d’entrée API publique, routage vers downstream
Notifications3005SMS, push, email
Configuration3006Flows config-driven, canaux, paramètres
File Service3007Upload, stockage, signed URLs
Providers Gateway3008Adaptateurs Mobile Money et providers tiers
Risk Engine3009Évaluation anti-fraude, preflight, scoring
Service Catalog3010Catalogue des services métier (~90 endpoints)
Logs & Reporting3011Audit trail cross-services

Datastores

DatastoreUsageADR
PostgreSQL RDSUne instance par environnement, schéma logique par serviceADR-0014
RedisCache, sessions auth, rate limiting, cache JWKS
Stockage objets (S3 ou équivalent)Fichiers KYC, KYB, photos de profil

Edge & infra

  • Cloudflare : WAF, CDN, DNS — voir ADR-0010.
  • AWS EKS : runtime K8s — voir ADR-0009.
  • ingress-nginx + cert-manager : exposition publique + Let’s Encrypt.
  • External Secrets Operator : synchronisation Doppler → K8s secrets.

Communication inter-services

  • Externe (Internet → API publique) : HTTPS via Cloudflare → NLB AWS → Ingress NGINX → Orchestrator.
  • Interne (Orchestrator → services back) : HTTP REST avec JWT inter-services (scope internal-service-jwt). Réseau bridge K8s, namespace-isolé via NetworkPolicy.
  • Pas de communication directe app → services back : toujours via Orchestrator.

Liens

Nex — Plateforme fintech CEMAC