Skip to content Loading repository dataβ¦
My-Booking-Project GitHub Details, Stars and Alternatives | OpenRepoFinder
Home / Repositories / taanzzz/My-Booking-Project taanzzz / repository
My-Booking-Project π¨ A full-stack Hotel Booking Platform with secure authentication, dynamic room listings, real-time booking, user reviews, and responsive UI built using React, Firebase, Express, and MongoDB.
#expressjs #firebase #javascript #mongodb #react
View Repository on GitHub β REPOSITORY OVERVIEW Live repository statistics β
1 Stars
β 0 Forks
β― 0 Open issues
β 1 Watchers
41 /100
OPENREPOHUB HEALTH SIGNAL Limited signals A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
30 Community adoption25% weight
0 Maintenance state20% weight
100 License clarity10% weight
0 Project information10% weight
100 This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview π EchoNest - A Modern Hotel Booking Platform
EchoNest is a fully responsive and modern hotel booking platform designed to provide users with a seamless and engaging experience for discovering, booking, and sharing their accommodation experiences. This project delivers an attractive user interface, robust functionalities, and secure authentication.
π Live Links
β¨ Key Features
π‘ Homepage & General
π Dynamic Slider Banner with engaging text and CTA
π Featured Rooms (Top 6) with images and quick access to details
πΊοΈ Hotel Location Map with react-leaflet for real-time location view
π¬ User Reviews Carousel on homepage
π Special Offers Modal with random promotional deals
π± Fully Responsive across all devices
β Extra Custom Sections for enhanced user engagement
π Dashboards & Management (New)
Role-Based Access Control (User & Admin).
π‘οΈ Admin Dashboard:
π Statistics Overview: View total revenue, users, rooms, and bookings at a glance.
π₯ User Management: View all users, change user roles (make admin), and delete users.
π¨ Room Management: Add, view, update, and delete hotel rooms through a dedicated interface.
π€ User Dashboard:
π¨ Modern Personalized Layout with user avatar and details.
π Personal Statistics: View total bookings, total amount spent, and reviews given.
π Spending Chart: A visual breakdown of spending by room type.
π for user milestones.
Achievement Badges
π My Bookings Page Integration: Central place to manage bookings.
π€ My Profile Page with an option to update user information via a modal.
πΌοΈ Visual Gallery
πΌοΈ Image Gallery Page for exploring hotel visuals
ποΈ Category Filtering : Hotel, Rooms, Events
π§ Carousel View powered by Swiper.js
π Fullscreen Lightbox with navigation controls
π« Smooth Transitions via framer-motion
π Authentication
π Email/Password Auth via Firebase
π JWT Integration for secure private route access
π Google Social Login
β
Password Validation Rules
π Success Toast Notifications using react-toastify
π Room & Booking Management
ποΈ Room Listings Page with card/table views
πΈ Server-Side Price Filter
π§Ύ Room Details Page with images, description, reviews
ποΈ Booking Modal with room summary & date picker
π« Prevent Overbooking by checking existing reservations
π My Bookings Page (private route)
β Cancel Booking (at least 1 day prior)
π Date Update for existing bookings
β
Booking Confirmation Page with summary, print option & robust error handling
π Review System
βοΈ Authenticated Users Can Post Reviews
β Rating + Comments format with timestamps
π Review Display on Room Details Page
π Other Features
π§ Custom 404 Page with Lottie animation
π Global Animations using framer-motion for UX polish
π» Instructions to Run the Project Locally
Prerequisites
β
Node.js (v16+)
β
MongoDB (local or MongoDB Atlas)
β
npm
Step 1: Clone the Repositories # Clone the Client Repository
git clone https://github.com/taanzzz/My-Booking-Project
# Clone the Server Repository
git clone https://github.com/taanzzz/hotelDB-server
Step 2: Setup Server cd hotelDB-server
npm install
Step 3: Setup Client cd ../My-Booking-Project
npm install
npm run dev
π‘ Backend Server API Endpoints
π Authentication
POST /jwtGenerates JWT token for authenticated user.
{
"email": "user@example.com"
}
{
"token": "your_jwt_token_here"
}
π¨ Rooms API
GET /roomsReturns all rooms. Optional filters:
GET /rooms/featured/top-ratedReturns top 6 rated rooms.
GET /rooms/:idReturns details of a specific room.
π Bookings API
POST /bookingsCreates a booking. JWT required.
{
"roomId": "room_id_here",
"email": "user@example.com",
"date": "YYYY-MM-DD"
}
GET /bookingsGet all bookings for logged-in user.
GET /booking/:idGet specific booking by ID.
GET /bookings/room/:roomId/datesReturns all booked dates for a room.
GET /bookings/check?roomId=&email=Checks if a user already booked a room.
GET /bookings/room/:roomId/date/:dateReturns booking for a room on a date.
GET /bookings/user/:emailGet all bookings by user email.
DELETE /bookings/:idCancel a booking (JWT & user match required).
PATCH /bookings/:idUpdate a booking date. JWT required.
{
"roomId": "room_id_here",
"date": "YYYY-MM-DD"
}
π£οΈ Reviews API
POST /reviewsSubmit review for booked room (JWT required).
{
"roomId": "room_id_here",
"username": "Reviewer Name",
"userEmail": "reviewer@example.com",
"userPhoto": "url_to_photo",
"rating": 5,
"comment": "Great room and service!"
}
GET /reviews
GET /reviews/:roomIdGet reviews for a specific room.
π Tech Stack
π Frontend
React + Vite
Tailwind CSS + DaisyUI
React Router
Framer Motion
Axios
Firebase Auth
React Icons
React-Leaflet
Swiper.js
React-Toastify
React Datepicker
π§ Backend
Node.js + Express.js
MongoDB (Native Driver)
JWT Auth
Dotenv, CORS
βοΈ Server Environment Variables Create a .env file in /hotelDB-server:
PORT=3000
MONGODB_URI=your_mongodb_uri_here
JWT_SECRET=your_secure_jwt_secret
NODE_ENV=development
π Thatβs it! Your full-stack hotel booking platform is ready to go. Happy coding!