JE CONTRIBUE
Multi-tenant crowdfunding platform powering seamless cross-border donations with real-time payment orchestration.

JE CONTRIBUE is a digital humanitarian crowdfunding ecosystem designed to connect European diaspora donors with beneficiaries in Central and West Africa. The platform pairs an editorial Next.js 16 frontend with a dedicated NestJS payment microservice for instant reconciliation across Revolut cards and local Mobile Money (MTN, Airtel).
Humanitarian organizations operating in Africa struggle with fragmented financial channels, high cross-border conversion fees, and a lack of real-time transaction visibility.
THE TECHNICAL SOLUTIONA modern fullstack architecture combining Next.js 16 and NestJS 11. It features a unified payment engine handling EUR/XAF conversions, automated PDF receipt generation, secure S3 presigned uploads, and real-time Socket.IO WebSocket status updates.
Impact & Key Metrics
60%
Reduction in payment status confirmation latency via Socket.IO WebSockets
100%
Idempotent transactions with zero double-charge risk
2
Major payment channels integrated (Revolut Card & PawaPay Mobile Money)
Full Stack Specifications
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 & Microservices
- NestJS 11
- Next.js Server Actions
- TypeScript
- RxJS
- Socket.IO Server
- Winston Logger
- Passport JWT
Database & Caching
- PostgreSQL 16
- Prisma ORM v7
- Redis (ioredis)
DevOps & Tooling
- Docker
- Puppeteer (PDF Generation)
- AWS S3 / Cloudflare R2
- Swagger / OpenAPI 3.0
Third-Party APIs
- Revolut Merchant API
- PawaPay Gateway (MTN MoMo & Airtel Money)
- Nodemailer SMTP
Key Architecture Decisions
Dedicated Payment Orchestration Microservice (NestJS)
Complete isolation of financial logic into a dedicated NestJS service protected by multi-tenant API key headers (x-tenant-id) and Redis rate limiting.
Dual-Provider Webhook Reconciliation & Socket.IO Notifications
Asynchronous callback handling for Revolut/PawaPay payments with real-time UI status updates over Socket.IO room subscriptions, eliminating HTTP polling.
Server-Side PDF Receipt & Export Engine with Puppeteer
Server-side dynamic PDF generation for official tax receipts and financial reports using headless Chromium instances.
Core Features Breakdown
Multi-Tenant Campaign Engine
Enables non-profits to launch campaigns with custom targets, preset amounts, and presigned S3 media storage.
Unified Dual-Currency Checkout (EUR / XAF)
Automatic, seamless currency normalization between Diaspora card payments (EUR) and local Mobile Money wallets (XAF).
Real-Time Payment Tracking Modal
Interactive transaction authorization updates streamed directly to the frontend modal via Socket.IO.
Automated Tax & Donation PDF Generator
Instant server-side generation and email delivery of official donation receipts upon payment completion.