TourAssist is a web application designed to empower tour agents to enhance their tour packages and enable customers to compare and personalize these packages according to their preferences.
TourAssist aims to create a marketplace that provides a fair and even platform for all travel companies, regardless of their size, to offer travel and holiday packages to customers. The platform offers several key features to enhance the customer experience and streamline the process for travel agencies.
-
Fair Platform: TourAssist provides a fair platform for both big and small companies offering travel/holiday packages. It ensures equal visibility and opportunities for all companies to reach potential customers.
-
Customizable Packages: Travel agencies can provide customers with the option to customize their packages according to their preferences. For instance, if a customer wants to travel to a destination independently but prefers to include only hotel stay and activities in their package, they can customize the package accordingly. The price adjusts dynamically based on the selected customizations.
By offering these features, TourAssist aims to revolutionize the way travel agencies interact with customers and provide a seamless and personalized booking experience.
Ensure you have Docker Desktop installed.
Key variables which are used in the startup of the app. They are pre-configured for initial use, can be adjusted to tailor the app's startup settings.
ENV
:dev
profile for frontendFRONTEND_URL
: Frontend URLDATASOURCE_URL
: JDBC URL for the MySQL databaseDATASOURCE_USERNAME
: Database usernameDATASOURCE_PASSWORD
: Database password
Refer to docker-compose.yaml
To start the application containers with the latest build:
docker-compose -f docker-compose.yaml up -d --build
To start both the backend and MySQL database services as defined in the docker-compose.yaml
file:
docker-compose -f docker-compose.yaml up -d
To start only the mysql database as defined in the docker-compose.yaml file:
docker-compose -f docker-compose.yaml up -d db
docker-compose -f docker-compose.yaml build
To stop all running containers:
docker-compose -f docker-compose.yaml down
docker-compose -f docker-compose.yaml down -v
Use Case | Description |
---|---|
Customer and Agent Signup | This feature allows both agents and customers to sign up with their basic details. Passwords are encrypted and stored securely in the database. Details captured include: 1. Name 2. Email 3. Password 4. Mobile 5. Verification Document (For Agents) |
Login and Logout | This use case employs JWT-based stateless implementation. Users can log in using their email and password. Upon login, a unique JWT token is generated. Users can also logout, which invalidates the current JWT for that user. |
Create Package | Agents can create unique, customizable tour packages. Each item in the package has an associated price. Details include: 1. Package Name 2. Package Media 3. Trip Duration 4. Trip Source and Destination 5. Resort 6. Activities 7. Travel 8. Tour Guide 9. Package Media (Images) |
Booking and Payment | Customers can customize packages and proceed with booking. Payment flow is initiated and dummy payment interface is provided for capturing payment details. Booking and payment status are updated upon completion. |
Search and Filter | Users can search for travel packages based on destination and dates. Sorting options include: 1. Sort by Name 2. Sort by Price (Highest/Lowest) 3. Sort by User Rating Filter options include: 1. Filter by User Rating 2. Filter by Price Range 3. Filter by Agent/Company 4. Filter by Customization Availability |
View and Edit Customer Profile | Users can view and edit their profiles, updating information such as email and contact number. |
Booking Details | Users can view their booking history, including past and upcoming bookings. |
Forgot Password | Users can reset their password by providing their email. A reset password link is sent to the email address provided. |
Details Page of Travel Package | Details of travel packages include source, destination, dates, activities, transport details, stay amenities, and agent contacts. Users can customize packages and proceed to book seamlessly. |
Agent Dashboard | Agents have access to a comprehensive dashboard showing past and upcoming bookings, customer details, and earnings analysis. |