Skip to content

A Java-based movie ticket reservation system with a GUI for user interaction. Supports authentication, movie/show scheduling, ticket booking and cancellation, and administrative management. Implements validations to ensure secure transactions and enforce business rules.

Notifications You must be signed in to change notification settings

aaronboda24/TicketingSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TicketingSystem

A Java-based movie ticket reservation system with GUI interfaces for both customer and administrator interactions. This was developed as part of a university course project, focusing on real-world application of software development principles, database management, and client-server architecture. It supports user authentication, movie/show scheduling, ticket booking and cancellation, and administrative management, while enforcing business rules for secure transactions.

Features

  • Movie & Show Management:
    Browse available movies and view/manage scheduled showtimes.

  • Reservation System:
    Book and cancel tickets with real-time availability checks and enforced cancellation time-frames.

  • User Authentication:
    Secure login management and user profile handling.

  • Administrative Tools:
    Manage movies, shows, and customer reservations through an intuitive admin panel.

  • Payment Handling:
    Process ticket purchases with basic payment validation.

  • Business Rule Enforcement:
    In-built validations (e.g., cancellation cutoffs, reservation constraints) to ensure compliance with business logic.

Entity Relationship Diagram

The system uses a MySQL database to manage data. The ERD below outlines the primary entities and their relationships:

Entity Relationship Diagram

GUI Screenshots

Below are some screenshots from the application's GUI.

Customer Client

Login Screen
Login Screen
Signup Screen
Signup Screen
List Movies
List Movies
List Shows
List Shows
Show Bookings
Show Bookings

Administrator Client

Add Movie
Add Movie
Add Show
Add Show
Delete Movie
Delete Movie
Delete Show
Delete Show

Setup Instructions

1. Clone the Repository

Clone the project from GitHub:

git clone https://github.com/<your-username>/TicketingSystem.git

Replace <your-username> with your actual GitHub username.

2. Download the MySQL JDBC Driver

This project requires the MySQL Connector/J for database connectivity.

  • You will need the driver:
    MySQL Connector/J

  • After downloading:
    Place the .jar file (e.g., mysql-connector-java-8.0.xx.jar) in a known directory.

3. Compile & Run the Project

Make sure you have Java 11+ installed. When compiling and running, include the JDBC jar file in your classpath.

Compilation:

javac -d bin -cp path/to/mysql-connector-java-8.0.xx.jar src/*.java

Running the Server:

java -cp bin:path/to/mysql-connector-java-8.0.xx.jar TicketReservationServer

Note: Replace path/to/mysql-connector-java-8.0.xx.jar with the actual path to your JDBC driver jar file.

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

Disclaimer

This project is provided as-is, without any warranty or guarantee of functionality, security, or suitability for any purpose. The author assumes no responsibility for any issues, damages, or losses resulting from its use. Users are encouraged to review the code and make necessary adjustments based on their individual requirements.

About

A Java-based movie ticket reservation system with a GUI for user interaction. Supports authentication, movie/show scheduling, ticket booking and cancellation, and administrative management. Implements validations to ensure secure transactions and enforce business rules.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages