A Java and JavaFX implementation of a customer and employee-managed booking system, which will allow user to select the date, time, seats and film they want to watch and employees to update and manage all bookings in a spreadsheet and films.
The Cinema Booking System is designed to provide an intuitive and user-friendly interface for booking movie tickets. It allows users to browse through available movies, select showtimes, choose seats, and make reservations. The system also supports user authentication and provides both customers and administrators with distinct functionalities.
- User Authentication: Secure login and registration functionality for customers and administrators.
- Movie Catalogue: Display a list of currently available movies, along with their details and showtimes.
- Seat Selection: Interactive seat map to choose seats for the selected movie show.
- Booking: Users can add selected seats to their booking, review the booking details, and confirm the reservation.
- Admin Panel: Administrative access to manage movies, showtimes, and bookings.
- Email Confirmation: Users can opt to send booking confirmation to their email, which in turn contains a QR-coded receipt.
- Responsive Design: Built using JavaFX for a modern and responsive graphical interface.
- Java and JavaFX: Core programming language and GUI toolkit for building the application.
- Object-Oriented Design: Utilized to create modular and maintainable code.
- Scene Builder: Used for designing UI layouts and integrating them into the application.
- Data Persistence: Handled through appropriate data structures and file handling.
- Java Collections: Used to manage movie data, user profiles, and booking information.
A mimicked form of user acceptance testing (UAT) was conducted to validate the application from an end-user perspective. This involved running the application against the success criteria and ensuring all parts were met.
For a visual demonstration of the testing process, you can watch the Testing Overview Video on YouTube.
To run the Cinema Booking System locally, follow these steps:
- Clone the repository to your local machine.
- Open the project in your preferred Java development environment (such as IntelliJ IDEA or Eclipse).
- Ensure you have JavaFX configured in your IDE.
- Modify sections of the code to refer to the images locally on your machine (i.e. image path names).
- Compile and run the application.
- Explore the different functionalities of the system, both from a customer and an administrator perspective.
- Integration with online payment gateways for ticket purchases.
- Improved error handling and validation.
- Advanced search and filtering options in the movie catalogue.
- Use a more secure database format such as SQL.
- Seat-view representation of the bookings made in the admin view.
- Integration with external APIs to fetch real-time movie data.
Example Movie Page
Note: This is a fictional project created for illustrative purposes. Project was used to demonstate Java and JavaFX capabilities.