- Overview
- Technologies Used
- Purpose of Project
- Using the Project Yourself
- How the Project Works
- Project Status
- Room for Improvement
This is a cinema booking application that runs in a Graphical User Interface or, optionally, in the terminal.
- Java 18
- MongoDB Atlas
- JavaFX
The project was created alongside my studies of Year 1 Computer Science.
This project demonstrates my continued learning of programming principles and technologies, including:
- JDBC (MongoDB Atlas)
- Java Concurrency
- JavaFX
- File I/O
- Exception Handling
- JUnit testing
- Responsibility-driven design
- Cohesion & Coupling
- Maintainability
- Download the cinema.jar file:
curl -LO https://github.com/harirathod/cinema-booking-application/raw/main/out/artifacts/cinema_jar/cinema.jar
- Start the application with the following command:
java -jar -Dusername="<database-username>" -Dpassword="<database-password>" cinema.jar
- Clone the repository to your local machine:
git clone https://github.com/harirathod/cinema-booking-application.git
- Start the application with the following command:
java -jar -Dusername="<database-username>" -Dpassword="<database-password>" cinema-booking-application/out/artifacts/cinema_jar/cinema.jar
Note: Please make sure you have the JDK (Java Development Kit) installed.
Note 2: The user must provide the database password and username at the CLI. Typically, the customer doesn't provide database credentials when booking movie tickets, but this aspect was not a key focus of my application. Hence, I have intentionally simplified the process by requesting for credentials always.
And you're done! You can now try out the cinema booking application through a Graphical User Interface!
Any tickets booked by the user are written to "tickets.ser", so are stored persistently. These tickets can be viewed with the 'basket' command.
This project is completed.