Skip to content

Fundraising Event

Version

Welcome to the documentation for the Fundraising Event platform — a real-time, white-label fundraising solution for physical and hybrid events.

Overview

This project provides a complete fundraising ecosystem featuring:

  • Real-time Updates: Live gauges and donation feeds powered by WebSocket
  • Multi-channel Collection: Online payments (Stripe/PayPal) + offline collection (Cash/Check)
  • White-Label Ready: Full theming, branding, and localization support
  • Open Source: Designed for easy deployment and customization

Getting Started

Document Description
Getting Started Installation and setup guide
Architecture System components overview
Project Structure Folder structure and organization
Configuration Environment variables and settings
Technology Stack Libraries and tools reference
Testing Strategy E2E, Unit, and Integration tests

Core Documentation

Document Description
API Reference REST endpoints and WebSocket events
White-Labeling Theming, CSS variables, and i18n
Providers Integration External services configuration

Quality Reports

Document Description
Unit Test Coverage (API) Technical coverage for the NestJS API
Unit Test Coverage (Web) Coverage for the React Frontend
Unit Test Coverage (White-Labeling) Coverage for common packages
Unit Test Coverage (Types) Coverage for shared DTOs/Interfaces
E2E Test Report Playwright full-stack integration results

Features

Platform Features

Feature Description Documentation
Authentication Admin login, Staff PIN, OAuth View →
Events Management Create and configure fundraising events View →
Global Settings Platform-wide configuration View →

Donor-Facing Features

Feature Description Documentation
Donation Flow Stripe & PayPal integration View →
Live Event Real-time projection screen View →
Public Landing Pages Campaign landing pages View →

Staff & Admin Features

Feature Description Documentation
Admin Dashboard Management and analytics View →
Staff Collector Offline donation collection View →
Communication Email receipts and PDF generation View →

Technology Stack

graph LR
    subgraph Frontend
        React[React 19]
        Vite[Vite]
        Tailwind[Tailwind CSS v4]
        Shadcn[Shadcn/UI]
    end

    subgraph Backend
        NestJS[NestJS]
        Prisma[Prisma ORM]
        SocketIO[Socket.IO]
        BullMQ[BullMQ]
    end

    subgraph Infrastructure
        PostgreSQL[(PostgreSQL)]
        Redis[(Redis)]
    end

    React --> NestJS
    NestJS --> PostgreSQL
    NestJS --> Redis
Layer Technologies
Frontend React 19, Vite, Tailwind CSS v4, Shadcn/UI, react-i18next
Backend NestJS, Prisma, Socket.IO, BullMQ, pdfmake
Database PostgreSQL
Cache/Queue Redis
Payments Stripe, PayPal

Project Structure

fundraising-event/
├── apps/
│   ├── api/          # NestJS Backend
│   └── web/          # React Frontend
├── packages/
│   ├── types/        # Shared TypeScript types
│   └── white-labeling/  # Theming & configuration
├── docs/             # This documentation
└── docker-compose.yml

View full project structure →


Support