🎯 Inspiration At Monta Vista, clubs constantly compete for limited spaces — classrooms, meeting rooms, and practice areas. Double-bookings happen often, students struggle to find available spots, and teachers end up handling unnecessary scheduling conflicts. We wanted to create a system that simplifies room scheduling, reduces confusion, and ensures every club gets a fair chance. That’s how the idea for Monta Vista Booking Hub was born. 💡 What It Does Our platform gives students, club officers, and teachers a clean, easy-to-use website where they can: Browse available rooms View real-time availability on a calendar Request bookings for specific time slots Automatically avoid conflicts through time-overlap detection Allow admins to approve, deny, or cancel reservations Manage recurring club meetings efficiently It transforms a messy, manual process into a system that’s transparent, automatic, and student-friendly. 🛠️ How We Built It We used a modern, lightweight stack to make development fast and the UI smooth: Frontend: React + Tailwind CSS Backend: Node.js + Express (or Supabase backend depending on configuration) Database: PostgreSQL / Supabase Auth: Google OAuth / Supabase Auth Calendar: FullCalendar.js Deployment: Vercel (frontend) + Supabase / Render (backend) 📚 What We Learned Building this project taught us: How to structure a full-stack web application from scratch Practical backend concepts like REST APIs, validation, middlewares, and auth Database design, relational schema, and time-overlap logic Responsive UI design for clean, mobile-friendly layouts How important user experience is when designing tools for students The value of teamwork, version control, and iteration 🚧 Challenges We Faced Every stage came with its own challenges: Building robust conflict detection for overlapping bookings Integrating authentication smoothly without disrupting UX Designing a layout that stays intuitive while offering many features Handling time zones and date-time formatting Ensuring the system stayed fast and responsive Deploying the backend and database in a way that stays reliable during judging Debugging CORS errors and API integration issues Despite these challenges, we iterated quickly, tested with real use cases, and built a system that genuinely solves a real problem at Monta Vista. 🚀 What’s Next Going forward, we want to add: Recurring weekly club meetings Notifications and reminders Room equipment tags (projector, lab, whiteboards) Google Calendar export Automatic waitlists for fully-booked rooms Analytics dashboard for teachers and admin
Built With
- css3
- express.js
- fullcalendar.js
- html5
- node.js
- postgresql
- react.js
- tailwind
Log in or sign up for Devpost to join the conversation.