< Back to case studies
Meet Ease2024MERN Stack

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

Meeting Room Booking System

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.