A full-stack hall booking platform built with React, Node.js, Express, and MongoDB. Features a Gantt-chart weekly scheduler where users can drag to select time slots across 13 venues, submit booking requests, and track their status. Admins can approve, reject, or cancel bookings with optional notes. Email notifications are sent automatically on every booking action.
- Frontend: React 18, Vite, date-fns, Axios
- Backend: Node.js, Express, Mongoose
- Database: MongoDB
- Auth: JWT + bcrypt
- Email: Nodemailer
cd backend
npm install
cp .env.example .env # fill in your values
npm startcd frontend
npm install
npm run devCopy backend/.env.example to backend/.env and fill in:
MONGODB_URI— MongoDB connection stringJWT_SECRET— any long random stringMAIL_*— Gmail SMTP credentialsCLIENT_URL— frontend URL