Back to Blog

Book It – Smart Hall Booking Platform

April 27, 2023 (2y ago)Siddharth Jain
ReactNode.jsMongoDBWeb ApplicationFullstackHall ManagementAuthenticationProject Showcase

📚 Book It – Your Smart Hall Booking Platform


🚀 Overview

Book It is a full-stack web application designed to simplify the process of booking halls for events. Whether you're organizing a seminar, celebration, or meeting, Book It streamlines hall reservations with real-time availability, admin approval flows, and a robust search/filter system.

This platform offers a smooth experience for both regular users and administrators, enabling efficient management and transparency in hall bookings.

Book It Home Screen Booking Form

User Experience Walkthrough 🧑‍💻

1. Searching for Halls 🔍

Users are greeted with a search interface where they input their event location and desired date.

Search Results

2. Viewing Hall Details 🏛️

Selecting a hall reveals detailed information: name, location, capacity, and more.

Hall Details

3. Booking a Hall 📝

A booking form collects event details before submitting the request to admins.

Booking Confirmation

4. Booking Status & Calendar 📆

Users can track their booking status and view a calendar with real-time updates.

Booking Calendar

5. Admin Dashboard ⚙️

Admins manage halls, approve or reject requests, and access all booking information in one place.

Admin Dashboard


🎯 Key Features

✅ For Users:

🛠️ For Admins:


🛠️ Tech Stack

Tech Role
React Frontend UI
Node.js + Express Backend server
MongoDB + Mongoose Database and ODM
Tailwind CSS Styling
Axios API requests
react-router-dom Routing

🔐 Environment Configuration

🌐 Client Environment Variables

Variable Description
REACT_APP_ADMIN_SIGN_UP Enables/disables admin registration
REACT_APP_HOD_FEATURE Toggles HOD-specific features
REACT_APP_SERVER_URL Base URL for API
REACT_APP_MASTER_ADMIN_EMAIL Master admin privileges

🛡️ Server Environment Variables

Variable Description
DATABASE MongoDB connection string
PORT Server port
SECRET_KEY JWT or session encryption key
ADMIN_KEY Keyword for admin registration
SENDER_EMAIL / SENDER_PASSWORD Email config for notifications
CLIENT_URL Used for CORS or redirects

🧪 Usage Instructions

🧑 For Users:

  1. Enter your desired location and date.
  2. Browse the available halls.
  3. Click to book your preferred option.
  4. Wait for admin approval.
  5. Track booking status and view the calendar.

👩‍💼 For Admins:

  1. Login to the admin dashboard.
  2. Review pending requests.
  3. Approve or reject based on availability.
  4. Add or update hall listings as needed.

🤝 Contributing

Want to contribute? Awesome! Just follow these steps:

# 1. Fork the repo
# 2. Create your branch
git checkout -b feature/your-feature
 
# 3. Make your changes and commit
git commit -m "Add your feature"
 
# 4. Push your branch
git push origin feature/your-feature
 
# 5. Open a pull request!

License 📄

Book It is licensed under the GNU General Public License v3.0.


Ready to explore? Check out the source code and help us improve the future of event booking!