📚 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.
User Experience Walkthrough 🧑💻
1. Searching for Halls 🔍
Users are greeted with a search interface where they input their event location and desired date.
2. Viewing Hall Details 🏛️
Selecting a hall reveals detailed information: name, location, capacity, and more.
3. Booking a Hall 📝
A booking form collects event details before submitting the request to admins.
4. Booking Status & Calendar 📆
Users can track their booking status and view a calendar with real-time updates.
5. Admin Dashboard ⚙️
Admins manage halls, approve or reject requests, and access all booking information in one place.
🎯 Key Features
✅ For Users:
- 🔍 Search and filter halls by location and capacity.
- 🗓️ Book halls for specific dates and times.
- 📬 Submit requests that require admin approval.
- 🧾 Track booking statuses in real time.
- 🗃️ Calendar view for real-time availability.
🛠️ For Admins:
- 👨💼 Approve or reject booking requests.
- 🏢 Manage hall listings (create, edit, delete).
- 📊 View detailed booking requests including user info.
🛠️ 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:
- Enter your desired location and date.
- Browse the available halls.
- Click to book your preferred option.
- Wait for admin approval.
- Track booking status and view the calendar.
👩💼 For Admins:
- Login to the admin dashboard.
- Review pending requests.
- Approve or reject based on availability.
- 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!