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.
-
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.
The system uses a MySQL database to manage data. The ERD below outlines the primary entities and their relationships:
Below are some screenshots from the application's GUI.
Clone the project from GitHub:
git clone https://github.com/<your-username>/TicketingSystem.gitReplace
<your-username>with your actual GitHub username.
This project requires the MySQL Connector/J for database connectivity.
-
You will need the driver:
MySQL Connector/J -
After downloading:
Place the.jarfile (e.g.,mysql-connector-java-8.0.xx.jar) in a known directory.
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/*.javaRunning the Server:
java -cp bin:path/to/mysql-connector-java-8.0.xx.jar TicketReservationServerNote: Replace
path/to/mysql-connector-java-8.0.xx.jarwith the actual path to your JDBC driver jar file.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
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.









