Skip to content

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.

Notifications You must be signed in to change notification settings

rubenodamo/cinema-booking-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

Cinema Booking System

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.

Project Overview

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.

Features

  • 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.

Technologies Used

  • 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.

Testing

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.

Setup and Installation

To run the Cinema Booking System locally, follow these steps:

  1. Clone the repository to your local machine.
  2. Open the project in your preferred Java development environment (such as IntelliJ IDEA or Eclipse).
  3. Ensure you have JavaFX configured in your IDE.
  4. Modify sections of the code to refer to the images locally on your machine (i.e. image path names).
  5. Compile and run the application.
  6. Explore the different functionalities of the system, both from a customer and an administrator perspective.

Future Enhancements

  • 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.

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published