Empowering seamless travel bookings with modern web technologies.
- β User Authentication & Authorization
- π οΈ Admin-side CRUD for:
- Packages
- Bookings
- Users
- βοΈ User-side CRUD for:
- Booking
- Payment
- π§© Package Listings
- π Booking Sessions
- π³ Payment Integration
- π€ AI-Powered Chatbot Features:
- Real-time user assistance
- Context-aware conversation powered by Gemini API
- User-friendly chat interface
- Collects user information and provides personalized responses
- π¬ Real-time User Interaction & Support via Chatbot
- π Seamless Integration between Chatbot and Backend Services
Relationship is as below:
- One-to-Many Relationship between User and Book (one user can make multiple bookings).
- One-to-One Relationship between Book and Payment (one booking can have only one payment).
- One-to-One Relationship between Book and Package (one booking can be within only one package).
- Implemented Intelligent Chabot using Gemini API (Flash 2.0 Model) with restricted safety feature to avoid offensive language:
- I chose to use a Microservice Architecture with Node.js to build the chatbot using the Gemini API because it allows for better scalability, modularity, and easier maintenance. By isolating the chatbot functionality into a separate microservice, it becomes independent from the main application, making it easier to update, debug, and scale as needed. Node.js is ideal for this setup due to its non-blocking, event-driven nature, which enables efficient handling of API requests and real-time communication. This approach also keeps the system flexible and allows other parts of the platform to interact with the chatbot via a simple API call.
Demonstration is as below: 1. Login when you're a registered user:
(https://youtu.be/umv8zJHvv3A "Database Web Dev Demo Video")
-
Register a new account when you're a new user of Travel.Now:
(https://youtu.be/Gby6tjzD_EU "Database Web Dev Demo Video of Register A New Account") -
Accessing the H2 Database:
(https://youtu.be/7N39x59Ddkw "Database Web Dev Demo Video of Accessing H2 Db")

.png)
