Meeting Room Booking System
Meet Ease was designed to remove the friction from booking shared meeting spaces. In many co-working environments, room scheduling becomes messy because availability changes quickly, teams need instant confirmation, and admins need visibility into what is happening in real time.
Project type
MERN Stack
Year
2024
Challenges
3
Tech used
10

What Problem It Solves
The project solves booking confusion, scheduling overlap, and poor visibility around room usage. Instead of relying on manual coordination or disconnected tools, users can check availability, reserve slots, and manage bookings through a single workflow while admins oversee rooms, slots, and payments from one dashboard.
Why I Built It
I built Meet Ease because booking systems look simple on the surface, but they reveal important engineering challenges once real conditions are introduced. Time slots, availability, payments, booking status, and admin actions all need to stay in sync. It was a good problem space to build something practical and technically disciplined.
Why This Tech Stack
I used React and TypeScript on the frontend for a predictable UI layer and better maintainability. Redux helped manage booking-related state across multiple views. On the backend, Node.js, Express, MongoDB, and Mongoose gave me a fast and flexible MERN foundation that worked well for rooms, slots, users, and bookings. JWT secured access, and online payment integration supported paid reservations.
Challenges I Faced and How I Solved Them
Preventing availability conflicts
The biggest challenge was making sure users were not shown stale or misleading room availability. I designed the booking flow so slot management and booking updates stayed tightly connected, reducing the risk of conflicting reservations and making the system feel dependable.
Keeping user and admin views aligned
Bookings affect several areas at once: user history, room schedules, payment status, and the admin dashboard. I solved this by structuring the state and API responses around booking lifecycle events, which made updates easier to reason about across the application.
Making a complex flow feel simple to users
I kept the interface focused on the key decision points: choose a room, choose a time, confirm the booking, and track status. That made the product easier to use without hiding the complexity the system was handling behind the scenes.
Outcome
Meet Ease shows my ability to build workflow-heavy applications where accuracy matters. It demonstrates practical state management, booking logic, payment integration, and admin tooling in a product that solves a real coordination problem.