JE CONTRIBUE
Plateforme de collecte de fonds multi-tenants avec orchestration de paiements en temps réel et Mobile Money.

JE CONTRIBUE est un écosystème numérique d'aide humanitaire et de collecte de fonds conçu pour relier la diaspora européenne aux bénéficiaires en Afrique centrale et de l'Ouest. La plateforme combine un frontend éditorial Next.js 16 avec un microservice dédié NestJS pour la réconciliation instantanée des cartes Revolut et du Mobile Money (MTN, Airtel).
Les organisations humanitaires en Afrique sont confrontées à la fragmentation des canaux de paiement, aux frais de conversion élevés et à l'absence de visibilité en temps réel lors des transferts transfrontaliers.
LA SOLUTION TECHNIQUEUne architecture fullstack moderne combinant Next.js 16 et NestJS 11. Elle intègre un moteur de paiement unifié gérant les conversions EUR/XAF, la génération automatique de reçus PDF, des téléversements S3 sécurisés et des notifications WebSocket en temps réel.
Impact & Métriques Clés
60%
Réduction de la latence de confirmation de paiement grâce aux WebSockets
100%
Transactions idempotentes sans risque de double débit
2
Réseaux de paiement majeurs intégrés (Revolut Card & PawaPay Mobile Money)
Spécifications Techniques Completes
Frontend & UI
- Next.js 16 (App Router)
- React 19
- TypeScript
- TailwindCSS v4
- Radix UI
- NextAuth.js v5
- next-intl
- Socket.IO Client
- Tiptap Editor
Backend & Services
- NestJS 11
- Next.js Server Actions
- TypeScript
- RxJS
- Socket.IO Server
- Winston Logger
- Passport JWT
Données & Cache
- PostgreSQL 16
- Prisma ORM v7
- Redis (ioredis)
Infrastructure & DevOps
- Docker
- Puppeteer (PDF Generation)
- AWS S3 / Cloudflare R2
- Swagger / OpenAPI 3.0
Intégrations Tiers
- Revolut Merchant API
- PawaPay Gateway (MTN MoMo & Airtel Money)
- Nodemailer SMTP
Décisions d'Architecture Clés
Microservice d'orchestration de paiement dédié (NestJS)
Isolation complète de la logique bancaire dans un service NestJS sécurisé par clés API multi-tenant (x-tenant-id) et limitation de débit Redis.
Réconciliation par Webhooks & Notifications Socket.IO
Capture asynchrone des notifications Revolut/PawaPay avec mise à jour instantanée de l'UI via des rooms Socket.IO dédiées sans polling HTTP.
Moteur d'exportation de reçus PDF avec Puppeteer
Génération côté serveur de reçus fiscaux et de résumés financiers au format PDF via des instances Chromium headless intégrées.
Fonctionnalités Principales
Moteur de Campagnes Multi-Tenants
Permet aux associations de publier des campagnes de collecte avec objectifs personnalisés, options de montants et médias stockés sur S3.
Guichet de Paiement Unifié EUR / XAF
Conversion automatique et transparente entre les cartes de la diaspora (EUR) et les portefeuilles Mobile Money locaux (XAF).
Suivi du Statut de Paiement en Temps Réel
Affichage interactif de la progression des transactions sans rechargement de page via Socket.IO.
Générateur Automatique de Reçus Fiscaux PDF
Création instantanée et envoi par email de reçu de don officiel au format PDF à la confirmation du règlement.