CCFAT replaces manual, Excel-based lab reservations with a ⚡ MERN portal.
- Problem--Solution
- User-Roles--Permissions
- Features
- Tech-Stack
- Getting-Started
- Usage
- Screenshots
- Roadmap--Future-Work
- Contributing
- License
- Contact--Acknowledgements
Booking a CCF lab at MAHE currently means endless back-and-forth calls, emails and Excel updates. Every request must hop from staff → CCF staff → lab in-charge, risking clashes, omissions and zero visibility for other users.
CCFAT replaces this tangle with a single MERN-stack portal:
- anyone with campus credentials logs in, sees a live timetable and requests a slot in seconds;
- the in-charge reviews requests from an approval queue;
- confirmations (or rejections) are emailed automatically;
- bookings, users and recurring PSUC class blocks are stored centrally, powering usage analytics.
The same pattern can be extended to any lab or shared resource on campus.
| Role | Capabilities | Typical Screen |
|---|---|---|
| MAHE Staff / Student | View timetable; request & cancel own bookings | User Booking UI |
| CCF Staff | Approve / decline requests; manage recurring PSUC slots; see upcoming reservations | Admin Dashboard |
| Administrator | CRUD on users, departments & institutes; generate usage reports; full audit trail | Admin Records UI |
- Login/signup
- Weekly timetable grid
- One-click booking
- Admin approval
- Email notifications 📧
- Recurring slots
- Analytics
- CRUD for users/departments/institutes
MongoDB · Express.js · React · Node.js + Nodemailer, JWT, Moment.js 🗓️
Prerequisites: Node.js, npm and MongoDB.
git clone https://github.com/example/CCFAT.git
cd CCFATCreate .env:
SECRET_KEY=your-secretRun clients and server in parallel:
cd client/ && npm start &
cd server/ && npm start- Make a booking.
- Admin approves.
- Confirmation email sent 📧.
| Login (lo-fi) | Booking page (lo-fi) |
|---|---|
![]() |
![]() |
| Login (prod) | Check Availability (prod) |
|---|---|
![]() |
![]() |
- Multi-lab support
- Google Calendar sync
- Richer analytics
- Customizable email templates
Fork the repo, clone, create a branch, commit, and open a PR. Follow ESLint/Prettier rules.
MIT



