Skip to content

CHINTHAN03/BusReservationSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Propulsion - Dynamic Bus Reservation Platform

Java MySQL Maven

Propulsion is a robust, full-stack desktop application designed to streamline the bus reservation process. Built with Java Swing and MySQL, it features a native 60FPS procedurally animated UI, role-based access control, real-time database transactions, and automated PDF E-Ticket generation.

It implements the Model-View-Controller (MVC) architecture and Data Access Object (DAO) design patterns to ensure scalability, clean code separation, and maintainability.


Key Features

Customer Portal

  • Dynamic Search: Filter available bus schedules by source and destination cities.
  • Interactive Seat Mapping: Visual grid showing available and booked seats in real-time.
  • Multi-Seat Selection: Book multiple seats in a single transaction.
  • E-Ticket Generation: Automatically compiles and exports a clean, formatted PDF ticket using iTextPDF upon booking confirmation.

⚙️ Administrator Dashboard

  • Business Intelligence Analytics: Live summary dashboard tracking total revenue, active routes, fleet size, and total tickets sold.
  • Targeted Filtering: Filter analytics by specific bus to measure individual vehicle performance.
  • Unified Trip Publishing: Create the bus, route, and schedule in a single, streamlined form with native date/time spinners.
  • Transaction Safety: Utilizes JDBC rollback transactions to prevent partial or corrupted database inserts.

UI / UX Highlights

  • Native Java2D Animations: A lightweight, 60fps procedurally generated particle and gradient background on the login screen (zero external media libraries required).
  • Modern Aesthetic: Clean, white-card layouts, rounded buttons, and intuitive color coding.

Application Showcase

Authentication Portal User Registration
Login Screen Registration Screen
Live Bus Dashboard Interactive Seat Map
Customer Dashboard Seat Map
Booking Confirmation Generated PDF Ticket
Confirmation PDF Ticket
Admin Analytics Overview Unified Trip Publishing
Admin Analytics Publish Trip

🛠️ Technology Stack

  • Language: Java SE 17+
  • GUI Framework: Java Swing / AWT / Java2D (Graphics)
  • Database: MySQL 8.0
  • Build Tool: Apache Maven
  • Dependencies:
    • mysql-connector-j (Database connectivity)
    • itextpdf (Version 5.5.13.3 - PDF Generation)

Installation & Setup

Prerequisites

  • Java Development Kit (JDK) 17 or higher
  • MySQL Server running locally
  • Apache Maven installed (if building from source)

1. Database Setup

  1. Open your MySQL client (Workbench, CLI, etc.).
  2. Create a new database:
    CREATE DATABASE bus_reservation_db;
    USE bus_reservation_db;

About

A full-stack Java and MySQL reservation platform implementing strict MVC/DAO architectures, secure JDBC transactions, and automated PDF e-ticketing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages