A comprehensive hotel booking platform with features such as authentication, searching and filtering, review and rating system, recommendation system, and booking management. The platform also includes payment processing, a user-friendly interface, and real-time hotel updates and availability check.
- User authentication and authorization
- Search and filter options for hotels
- Review and rating system
- Recommendation system based on user preferences
- Booking management and payment processing
- User-friendly interface with real-time updates and availability check
##Installing
- Clone the repository:
$ git clone https://github.com/OzoneBht1/FYP--Hotel-Booking-System.git
- Configure publishable Stripe API key for the frontend:
$ cd frontend
$ touch .env
$ vi .env
$ VITE_REACT_APP_STRIPE_URL="YOUR_STRIPE_PUBLISHABLE_KEY"
$ :wq
- Install the required packages for the frontend:
$ npm install
- Create and activate a virtual environment
$ cd ../backend
$ python3 -m venv myenv
$ source myenv/bin/activate
- Configure SMTP, Database and Stripe for the backend:
$ touch .env
$ vi .env
SECRET_KEY='YOUR_VALUE_HERE'
DATABASE_NAME='YOUR_VALUE_HERE'
DATABASE_USER='YOUR_VALUE_HERE'
DATABASE_PASSWORD='YOUR_VALUE_HERE'
DATABASE_HOST='YOUR_VALUE_HERE'
DATABASE_PORT='YOUR_VALUE_HERE'
EMAIL_BACKEND='YOUR_VALUE_HERE'
EMAIL_HOST='YOUR_VALUE_HERE'
EMAIL_USE_TLS='YOUR_VALUE_HERE'
EMAIL_PORT='YOUR_VALUE_HERE'
EMAIL_HOST_USER='YOUR_VALUE_HERE'
EMAIL_HOST_PASSWORD='YOUR_VALUE_HERE'
STRIPE_API_KEY='YOUR_VALUE_HERE'
$ wq
- Install the required packages for the backend:
$ pip install -r requirements.txt
- Run the frontend and backend servers seperately:
$ python manage.py runserver
$ cd ../frontend
$ npm run dev
The application should now be running on http://localhost:3000.
- Django - The web framework used
- Django Rest Framework - Used to generate REST API
- React - Used to build the frontend
- Node.js - Used to run the frontend
- Material-UI - Used to build the UI components
- React-Router - Used to manage routing in the application
- React-Redux - Used to connect React with Redux