A comprehensive queue management system for BIRLA VISHVAKARMA MAHAVIDHYALAYA (BVM) to digitize manual queuing for student administrative tasks.
Before starting, ensure you have the following installed:
Option A: Local MongoDB
localhost:27017Option B: MongoDB Atlas (Cloud)
server/.env:
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/bvm_queue_management
Open a terminal and navigate to the project folder:
cd d:\Project\server
npm install
This will install: express, mongoose, bcryptjs, jsonwebtoken, cors, dotenv, multer, qrcode, dayjs
Run the seed script to create default users and counters:
cd d:\Project\server
npm run seed
You should see:
Connected to MongoDB
Created student: 25ec443@bvmengineering.ac.in
Created faculty: 25ec407@bvmengineering.ac.in
Created faculty: 25ec457@bvmengineering.ac.in
Created faculty: 25ec460@bvmengineering.ac.in
Created counter: Admissions Counter
...
β
Database seeded successfully!
cd d:\Project\server
npm run dev
You should see:
Server running in development mode on port 5000
MongoDB Connected: localhost
Keep this terminal running!
Open a NEW terminal and run:
cd d:\Project\client
npm install
This will install: react, react-router-dom, axios, dayjs, qrcode.react, html5-qrcode, lucide-react
cd d:\Project\client
npm run dev
You should see:
VITE v5.x.x ready in xxx ms
β Local: http://localhost:5173/
β Network: use --host to expose
Open your browser and go to: http://localhost:5173
Youβll see the login page. Use these credentials:
| Role | Password | |
|---|---|---|
| Student | 25ec443@bvmengineering.ac.in | password123 |
| Faculty | 25ec407@bvmengineering.ac.in | password123 |
# Terminal 1 - Backend
cd d:\Project\server
npm install
npm run seed
npm run dev
# Terminal 2 - Frontend (new terminal)
cd d:\Project\client
npm install
npm run dev
# Open browser: http://localhost:5173
| Role | Password | |
|---|---|---|
| Student | 25ec443@bvmengineering.ac.in | password123 |
| Faculty | 25ec407@bvmengineering.ac.in | password123 |
| Faculty | 25ec457@bvmengineering.ac.in | password123 |
| Faculty | 25ec460@bvmengineering.ac.in | password123 |
| Parent | Mobile: 9876543211 | OTP (see console) |
POST /api/auth/login - Email/password loginPOST /api/auth/parent-login - Request OTPPOST /api/auth/verify-otp - Verify OTPGET /api/auth/me - Get current userGET /api/slots?counterId=X&date=YYYY-MM-DD - Get available slotsPOST /api/bookings - Create bookingGET /api/bookings - Get userβs bookingsDELETE /api/bookings/:id - Cancel bookingGET /api/faculty/today-bookings - Todayβs bookingsGET /api/faculty/upcoming-bookings - Future bookingsPOST /api/faculty/mark-completed/:id - Mark completePOST /api/faculty/mark-missed/:id - Mark missedPOST /api/faculty/scan-qr - Verify QR codePOST /api/emergency-queue - Submit requestGET /api/emergency-queue/pending - Get pending (faculty)POST /api/emergency-queue/:id/approve - ApprovePOST /api/emergency-queue/:id/reject - Rejectβββ client/ # React Frontend
β βββ src/
β β βββ components/ # Reusable components
β β βββ context/ # React Context
β β βββ pages/ # Page components
β β βββ services/ # API services
β β βββ styles/ # Global CSS
β βββ package.json
β
βββ server/ # Express Backend
β βββ config/ # Database config
β βββ controllers/ # Route handlers
β βββ middleware/ # Auth middleware
β βββ models/ # MongoDB models
β βββ routes/ # API routes
β βββ seeds/ # Database seeding
β βββ utils/ # Helper functions
β βββ package.json
β
βββ README.md
PORT=5000
MONGODB_URI=mongodb://localhost:27017/bvm_queue_management
JWT_SECRET=your_secret_key
JWT_EXPIRE=24h
NODE_ENV=development
This project is created for BVM Engineering College.