Skip to content

pathakakshata8-ops/studentdata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rally for Big Cats - Donation Platform

A full-stack donation platform for the "Rally for Big Cats 2026" campaign by Dharti International Foundation.

Project Structure

finalproject/
├── frontend/          # React + Vite application
│   ├── src/
│   ├── public/
│   ├── index.html
│   ├── package.json
│   └── vite.config.js
├── backend/           # Express.js API server
│   ├── config/        # Database configuration
│   ├── middleware/    # Rate limiting, validation, error handling
│   ├── models/        # Mongoose models
│   ├── routes/        # API routes
│   ├── services/      # Business logic (email service)
│   ├── utils/         # Logger, helpers
│   ├── server.js
│   └── package.json
├── package.json       # Root monorepo scripts
└── README.md

Quick Start

Prerequisites

  • Node.js >= 18.0.0
  • MongoDB (local or Atlas)
  • Razorpay account (for payments)

Installation

# Install all dependencies
npm run install:all

# Or install individually
cd frontend && npm install
cd ../backend && npm install

Configuration

  1. Copy the environment template:
cd backend
cp .env.example .env
  1. Update .env with your credentials:
  • MONGODB_URI - MongoDB connection string
  • RAZORPAY_KEY_ID / RAZORPAY_KEY_SECRET - Razorpay API keys
  • EMAIL_USER / EMAIL_PASSWORD - Gmail App Password

Running the Application

# Start backend (from root)
npm run dev:backend

# Start frontend (from root)
npm run dev:frontend

# Or run from individual directories
cd backend && npm run dev
cd frontend && npm run dev

API Endpoints

Method Endpoint Description
GET /api/health Health check
POST /api/donations Create donation
GET /api/donations List donations
GET /api/donations/total Get donation stats
POST /api/payments/create-order Create Razorpay order
POST /api/payments/verify-payment Verify Razorpay payment
POST /api/payments/create-upi-order Create UPI QR order

Security Features

  • Helmet - Security headers (XSS, HSTS, etc.)
  • Rate Limiting - 100 req/15min (API), 10 req/15min (payments)
  • Input Validation - express-validator on all endpoints
  • Structured Logging - Winston with request ID tracking
  • CORS - Configured for specific origins

Tech Stack

Frontend: React 18, Vite, TailwindCSS, Framer Motion Backend: Express.js, MongoDB, Razorpay, Nodemailer, Puppeteer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors