Skip to content

mosahel01/Bus-Reservation-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚌 Bus Ticket Reservation System

License: MIT Spring Boot MySQL

A comprehensive Full-Stack web application designed to automate and simplify the process of bus ticket booking. This portal provides a seamless interface for users to book seats and an intensive dashboard for administrators to manage routes, buses, and feedback.

Live Demo | API Documentation (Swagger)


🛠 Tech Stack

Backend:

  • Java with Spring Boot
  • Hibernate / JPA for ORM
  • Spring Data JPA for database communication
  • Maven for dependency management

Frontend:

  • HTML5, CSS3, JavaScript
  • Bootstrap for responsive UI components

Database & Tools:

  • MySQL (Relational Database)
  • Swagger/OpenAPI for API documentation
  • Git/GitHub for version control

✨ Key Features

👤 User Module

  • Dynamic Search: Find buses based on source, destination, and date.
  • Seat Selection: Visual seating arrangements to choose preferred spots.
  • Real-time Updates: View live availability and booking status.
  • Feedback System: Users can provide ratings and reviews for their journeys.

🔑 Admin Module

  • Resource Management: Full CRUD operations for Buses and Routes.
  • User Oversight: View and manage registered users.
  • System Analytics: Access the dashboard to monitor reservations and system feedback.

📸 Gallery

User Experience

Landing Page Booking Interface
Landing Booking

Admin Dashboard

Bus Management Route Management
Buses Routes

📐 Architecture

The project follows a modular architecture to ensure scalability and clean code separation:

  • Controller Layer: Handles REST API endpoints.
  • Service Layer: Contains business logic and validations.
  • Repository Layer: Interacts with the MySQL database.
  • Model Layer: Defines the core entities (User, Bus, Route, Reservation, Feedback).

Database Schema (ER Diagram)

ER Diagram


🚀 Getting Started

Prerequisites

  • JDK 17 or higher
  • MySQL Server
  • Maven

Installation

  1. Clone the repository

    git clone [https://github.com/mosahel01/Bus-Reservation-System.git](https://github.com/mosahel01/Bus-Reservation-System.git)
    cd Bus-Reservation-System
    
  2. **Database Configuration Create a database named bus_reservation_database in MySQL. Update your src/main/resources/application.yml (or application.properties): spring: datasource: url: jdbc:mysql://localhost:3306/bus_reservation_database username: root password: your_password jpa: hibernate: ddl-auto: update show-sql: true

Run the Application

mvn spring-boot:run
The server will start at http://localhost:8080.

🤝 Contributing Contributions make the open-source community an amazing place to learn and create.

Fork the Project

Create your Feature Branch (git checkout -b feature/AmazingFeature)

Commit your Changes (git commit -m 'Add some AmazingFeature')

Push to the Branch (git push origin feature/AmazingFeature)

Open a Pull Request

📄 License Distributed under the MIT License. See LICENSE for more information.

✉️ Contact Mohd Sahil - @mosahel01

Project Link: https://github.com/mosahel01/Bus-Ticket-Reservation-System

About

The Full Stack Bus Reservation System optimizes bus ticket booking with a user-friendly interface. It enables users to browse, select routes, and reserve seats seamlessly. Utilizing modern front-end technologies and robust server-side capabilities, the project exemplifies full-stack proficiency.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages