Skip to content

AcadifySolution/Impactbridge-CSR-Tool

Repository files navigation

ImpactBridge CSR Tool

An enterprise-ready platform facilitating Corporate Social Responsibility (CSR) partnerships, compliance reporting, and donation tracking between companies and Non-Governmental Organisations (NGOs).

Architecture Overview

This project is organized as a monorepo containing the following components:

  • apps/backend: NestJS backend powered by Prisma ORM and MySQL. Handles core authentication, user profiles, approvals, analytics, notifications, and financial reporting modules.
  • apps/frontend: Next.js App Router frontend styled with Tailwind CSS. Includes dashboards for admin, company, and NGO users. API data fetching is managed using React Query and is gate-controlled by feature flags.
  • packages/api-contracts: Shared TypeScript package containing the single source of truth for DTOs, interfaces, and enums, ensuring contract parity between frontend client hooks and backend serializers.

Tech Stack

  • Frontend: Next.js 14, React 18, React Query, Tailwind CSS, Shadcn/UI, Jest, React Testing Library, Storybook.
  • Backend: NestJS, TypeScript, Prisma Client, MySQL, Jest, Supertest, Throttler, JwtAuth.
  • Shared Package: TypeScript compiler references.

Getting Started

Prerequisites

  • Node.js (v18+)
  • MySQL database instance

Setup & Installation

  1. Clone the repository and install dependencies in the respective app directories:
    # Build the API contracts first (as backend/frontend depend on it)
    cd packages/api-contracts
    npm install
    npm run build
    
    # Set up backend
    cd ../../apps/backend
    npm install
    # Configure your .env file with DATABASE_URL
    npx prisma generate
    
    # Set up frontend
    cd ../frontend
    npm install

Running Locally

  • Backend: cd apps/backend && npm run start:dev
  • Frontend: cd apps/frontend && npm run dev

Testing

Each project contains its own test suites:

  • Backend: cd apps/backend && npm run test
  • Frontend: cd apps/frontend && npm run test

Directory Structure

├── apps/
│   ├── backend/         # NestJS Server
│   └── frontend/        # Next.js Client
├── packages/
│   └── api-contracts/   # Shared DTOs and Enums
├── tsconfig.json        # Main TS references config
└── docker-compose.yml   # Docker compose configuration

License

This project is licensed under the MIT License.

About

Enterprise CSR management platform with Next.js App Router and NestJS backend.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors