A Full Stack Web Application built using Spring Boot, Spring MVC, Spring Data JPA, JSP, and MySQL.
This project allows users to search buses, book tickets, manage reservations, and submit feedback.
Admins can manage routes, buses, view reservations, and monitor user feedback.
The Bus Reservation System is a layered MVC-based web application developed to simulate a real-world bus booking platform.
The system contains two modules:
- ๐ค User Module
- ๐ Admin Module
The project follows proper Spring Boot architecture and best practices.
The application follows Layered MVC Architecture:
Controller Layer โ Service Layer โ Repository Layer โ Database
โ
JSP (View Layer)
- Java 17
- Spring Boot 5.0.1
- Spring MVC
- Spring Data JPA
- Hibernate ORM
- JSP & JSTL
- MySQL 8.1.0
- Maven
- Tomcat (Embedded Server)
| Entity Name | Description |
|---|---|
| User | Stores registered user details such as username, password, and profile information |
| Admin | Stores administrator login credentials |
| Route | Contains route details including source, destination, and distance |
| Bus | Stores bus information such as bus name, type, seat capacity, price, and availability |
| Booking | Temporary booking details created when a user books seats |
| Reservation | Final confirmed booking records with status and booking date |
| Feedback | Stores user feedback including journey date, ratings, and comments |
- User โ One-to-Many โ Reservation
- Bus โ One-to-Many โ Reservation
- Reservation โ Many-to-One โ User
- Reservation โ Many-to-One โ Bus
- Feedback โ Many-to-One โ User
- Feedback โ Many-to-One โ Bus
- User Registration
- User Login
- Search Buses (From โ To)
- Book a Ticket
- Available Buses and Booking Bus
- Booking Confirmation
- View My Reservations
- Cancel Reservation
- Submit Feedback
- User logs in
- Searches buses
- Clicks "Book"
- Enters seat count
- Reservation saved in database
- Seats updated automatically
- Redirected to success page
- Visible in "My Reservations"
- Admin Login
- Add / Edit / Delete Routes
- Add / Delete Buses
- View All Reservations
- View User Feedback
git clone https://github.com/your-username/bus-reservation-system.gitCREATE DATABASE bus_reservation_system;Edit:
src/main/resources/application.properties
Using Maven:
mvn spring-boot:runOR run main class from IDE.
http://localhost:7383
Cause:
- Incorrect URL mapping
Fix:
- Added proper
@GetMappingin controller
Cause:
- Duplicate URL mappings
Fix:
- Changed endpoint paths
Cause:
- Incorrect model attribute name
Fix:
- Used correct attribute name in JSP
Cause:
- Service method not properly called
Fix:
model.addAttribute("reservations",
reservationService.getAllReservations());Cause:
- Database not created
Fix:
CREATE DATABASE bus_reservation_system;- Spring Boot MVC
- Spring Data JPA
- Hibernate ORM
- JSP & JSTL
- Session Management
- CRUD Operations
- Entity Relationships
- MVC Architecture
- Exception Handling
- Debugging using logs
- MySQL Integration
- Modern Navigation Bar
- Styled Login Forms
- Dashboard UI
- Responsive Tables
- Hover Effects
- Confirmation Dialogs
- Clean Layout Design
Through this project:
- Understood complete MVC architecture
- Implemented full CRUD operations
- Managed relational database mappings
- Designed booking system logic
- Debugged real-world Spring Boot errors
- Built structured layered application
- Improved frontend styling using JSP & CSS
- Online Payment Integration
- Graphical Seat Selection
- JWT Authentication
- Role-based Security
- REST API Version
- React Frontend
- Docker Deployment
- Cloud Deployment (AWS)
โ
Fully Functional
โ
User Module Working
โ
Admin Module Working
โ
Feedback Module Working
โ
Reservation System Working
โ
Database Integrated
โ
Ready for Deployment
Developed by:
P. Soma Akash
Java Full Stack Trainee at Codegnan
Grateful to my trainer Sathya Prakash sir for invaluable guidance and support throughout my Java Full Stack training.
Give it a โญ on GitHub!



















