Important
This is project for studies
DreamTravel is a comprehensive travel booking platform built using Java Spring Boot, offering a rich set of features designed for both users and administrators. The application caters to travelers by allowing them to browse, select, and purchase trips, while providing an administrative panel for managing the platform.

Below are the key features and functionalities included in DreamTravel:
-
User Authentication Login & Registration: Users can register accounts and log in to access the platform’s features. The authentication mechanism is built using Spring Security, ensuring a secure login process with encrypted passwords. Roles: The application supports two types of roles: USER: For regular users looking to browse and book trips. ADMIN: For administrators responsible for managing the platform's content. Session Management: User sessions are maintained throughout their interaction with the site, allowing them to access protected features like cart management and balance updates.
-
Shopping Cart Add Trips to Cart: Users can browse through available trips and add their selections to the shopping cart. The cart monitors the availability of trips in real time. Quantity Tracking: The cart checks for trip availability and adjusts accordingly, preventing users from booking trips that are sold out. Cart Checkout: Users can review their selected trips and proceed to payment.
-
Balance Management Balance View & Update: Users can view and manage their current balance through a balance page. Card Validation: When adding balance through a credit card, the platform validates the card details, including card number, expiration date, and security code. The balance is updated only after successful validation. Secure Payments: Payments are securely processed, and card information is handled with the highest security standards.
-
Admin Panel Trip Management: The admin panel provides administrators with the ability to: Add New Trips: Admins can create new trips, including details such as destination, description, price, and availability. Edit Existing Trips: Administrators can update trip information, such as availability, pricing, and trip photos. Image Upload: Photos for trips can be uploaded via the admin panel using the MultipartFile feature for enhanced trip visibility.
-
Order History View Orders: Users can view their past and current orders, which display the trips they have booked, including trip details and statuses. Order Details: The orders section includes detailed information about each booking, such as trip date, number of travelers, and total price.
Backend: Java Spring Boot for business logic and database management.
Frontend: Thymeleaf templates integrated with Spring MVC for rendering dynamic content.
Database: h2
Security: Spring Security for handling authentication and role-based access control.
Validation: Built-in form validations and custom validation annotations for card processing and user input validation.
login: adminpassword: admin login: guestpassword: guestCaution
The upload limit is 5 MB for files such as trip images.
DreamTravel is a constantly evolving platform designed to meet user needs for flexible trip booking, while providing a streamlined experience for both travelers and administrators. With upcoming features like
- trip date selectors,
- chat in active orders,
- and improved UI/UX,
DreamTravel aims to be the go-to open srouce platform for all travel agencies.




