- Last Modification Date: 11 / 04 / 2024
- Live URL: https://book-a-stay.netlify.app/
The hospitality industry, particularly hotel booking services, plays a vital role in facilitating travel and accommodation for individuals worldwide. However, amidst the plethora of options available, finding the perfect hotel that meets one's preferences and requirements can be a daunting task. BookAStay aims to address this challenge by providing a user-friendly web platform where travelers can efficiently search, compare, and book hotels according to their specific needs.
In response to the growing demand for streamlined hotel booking experiences, our team has developed BookAStay, a comprehensive solution designed to enhance the hotel booking process for both leisure and business travelers. Leveraging the latest technologies and industry best practices, BookAStay offers a seamless and intuitive user experience, empowering travelers to find their ideal accommodations with ease.
Through extensive market research and analysis of existing hotel booking platforms, we have identified key features and functionalities that are most valued by travelers. Drawing inspiration from successful industry leaders and incorporating innovative ideas, BookAStay introduces unique features tailored to meet the diverse needs of modern travelers.
Below are some objectives of our application:
- Efficient Booking Interface
- Comprehensive Hotel Listings
- User Authentication and Personalization
- Transparent Reviews and Ratings
- Service Provider Verification
- Secure Payment Gateway
- Node.js and npm (or Yarn) should be installed globally on the machine. Install here.
- (Optional) Node Version Manager (nvm) if you need to manage multiple versions of Node.js. Installation instructions can be found here.
Our backend services are deployed on render repository, and frontend web application is hosted on Netlify.
Note: The backend in deployed on free tier of render, it may take some time to load the data for the first time as the server goes to sleep after few minutes of inactivity.
- Open the root project and fire the below commands to install the project dependencies and start the application.
cd backend
npm install
npm start
- Open the root project and fire the below commands to install the project dependencies and start the application.
cd frontend
npm install
npm start
- React - The web framework used
- npm - Dependency Management
- Tailwind - CSS Framework
- FontAwesome - Fontawesome for icons
- react-datepicker - datepicker library
- Flowbite-datepicker - Flowbite library
- Netlify - For hosting the website
- Node.js - Javascript Runtime environment
- Express - Node.js web application framework
- MongoDB - MongoDB Atlas for database hosting
- render - Hosting web services
- react-datepicker - Date Picker
- MUI - Material UI
- Dotenv - Dotenv
- React-Popup - Popup
- Axios - Axios
- Flowbite - Flowbite
- User/Service Provider Authentication (Login and Signup)
- Service provider authentication by admin.
- Login/Signup of User & Service Provider
- Profile Management.
- Rating and Review
- Hotel Discovery (Search, filter, and sorting)
- Booking System
- Email Notification
- Payment Gateway
- Booking History
We have taken inspiration from some of the market leaders in the current industry, like Campr, AirBnb, MakeMyTrip, Booking for website design and features.
- The project and its components were created by referring to the official documentation of the respective packages and components mentioned. The documentation was very helpful in understanding the usage of the components and how to make the best use of them.
- Styling was done using Tailwind CSS, and the official documentation was referred to for understanding to use them effectively.