All Projects

Donation Platform

Built a production-grade charity and fundraising platform from the ground up — backend API, admin panel, and public-facing website — as three independently deployable applications. The platform enables donors to browse charitable appeals, make secure payments through Stripe, PayPal, and SSLCommerz, create personal fundraising campaigns, attend events, and track their donation history. The admin panel provides content management, analytics dashboards, invoice generation, and full site configuration. Real-time features powered by Socket.IO deliver live donation feeds and instant payment status updates.

Donation Platform

Key Features

  • Multi-gateway payment processing (Stripe, PayPal, SSLCommerz) with webhook verification
  • Real-time donation feed and payment status tracking via Socket.IO
  • CMS-driven dynamic UI — homepage, hero slider, header, footer all configurable from admin
  • Admin dashboard with donation analytics, charts, and date-range filtering
  • Multi-step checkout flow with gift aid and recurring donation support
  • Role-based access control with 6 admin roles and granular permissions
  • Blog, news, and event management with rich text editor (Editor.js)
  • PDF invoice generation for donation receipts
  • Zakat calculator with configurable thresholds
  • Community fundraising campaigns with progress tracking and social sharing
  • Media gallery with drag-and-drop upload and Cloudinary integration
  • Email system with 10 EJS templates, retry mechanism, and failed-email fallback

Challenges & Solutions

  • Integrated three independent payment gateways (Stripe, PayPal, SSLCommerz) into a unified checkout flow with idempotent webhook handlers
  • Designed a real-time architecture with Socket.IO namespaces — public live donation feed and authenticated admin notifications
  • Built a fully CMS-driven frontend where all homepage sections are dynamically rendered from backend configuration, with graceful fallback when the API is unavailable
  • Implemented automatic token refresh with request queuing in the admin panel to prevent race conditions during concurrent API calls

My Role

Full-Stack Developer

Tech Stack

Next.js 15React 19TypeScriptExpress 5BunPrismaPostgreSQLRedisBullMQSocket.IOStripePayPalTailwind CSSZustandTanStack RouterTanStack QueryZodCloudinaryDocker