Welcome to the TravelNest - Hotel booking website. This platform allows users to book accommodations, post properties, leave reviews, and more. It provides an intuitive interface for guests and property owners, ensuring a seamless booking experience. This project was inspired by booking.com
Video demo: link to video
- Browse Hotels: Search and filter hotels by location, price, amenities, and more.
- Make Reservations: Book rooms with real-time availability.
- Review Hotels: Leave feedback and rate services for hotels you've stayed at.
- User Dashboard: Manage bookings and view review history.
- Post properties: Allow user post their properties.
- Switch languages: Support 2 languages: Vietnamese and English
- List Properties: Add property details, photos, and room availability.
- Manage Bookings: View and manage reservations for your property.
- Respond to Reviews: Reply to guest reviews to improve engagement and feedback.
- Analytics Dashboard: View booking and review statistics for your property.
- Switch languages: Support 2 languages: Vietnamese and English
- Sentiment Analysis: Automatically analyze the sentiment of guest reviews to provide actionable insights for hotel owners.
- Smart Suggestions: Recommend hotels to users based on their search preferences and past behavior.
- Frontend: Vuejs
- Backend: Node.js, Express.js
- Database: MySQL
- Cache: Redis Cloud
- Payment & Payout: Stripe
- Map: Leaflet
- Authentication: Session based authentication
- Mail: Nodemailer
- Email validation: abstractapi
- SMS: infobip
- Realtime notification: SocketIO
- Cloud storage: Cloudinary
- Hosting:
- Clone the Repository
git clone https://github.com/bk-leducphuong/Booking-webite.git cd hotel-booking-website
-
Build and Run with Docker Compose
docker-compose up --build
-
Access the Application
- Frontend: http://localhost:5173
- Backend: http://localhost:3000
-
Stop the Containers
docker-compose down
Note: Make sure Docker and Docker Compose are installed on your system.
The backend is built with Node.js and uses MySQL as the database.
- Install dependencies
cd server npm install - Set Up the Environment Variables
- Start backend server
npm run dev
The frontend is built with Vuejs.
- Install dependencies
cd client npm install - Set Up the Environment Variables
- Start backend server
npm run dev
Run in terminal
stripe listen --forward-to http://localhost:3000/stripe/webhookDocument comming soon...


