IK
Inefable KoumbaIngénieur Logiciel · Data & Réseaux
arrow_backRetour aux projets
FINTECHCROWDFUNDINGNEXT.JS 16NESTJS

JE CONTRIBUE

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

JE CONTRIBUE
PRÉSENTATION DU PROJET

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

LE DÉFI / PROBLÈME

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 TECHNIQUE

Une 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

01. HIGHLIGHT

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.

02. HIGHLIGHT

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.

03. HIGHLIGHT

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.

Next.js Server ActionsPrisma ORMAWS S3 / Cloudflare R2Tiptap

Guichet de Paiement Unifié EUR / XAF

Conversion automatique et transparente entre les cartes de la diaspora (EUR) et les portefeuilles Mobile Money locaux (XAF).

NestJSRevolut APIPawaPay GatewayZod

Suivi du Statut de Paiement en Temps Réel

Affichage interactif de la progression des transactions sans rechargement de page via Socket.IO.

Socket.IO ClientNestJS WebSockets GatewayReact

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.

PuppeteerNodemailerHTML/CSS Templates