This project is a comprehensive Movie Theater Management System developed using Java, JavaFX, and Hibernate. It's designed to manage multiple aspects of a movie theater chain, including ticket sales, movie schedules, customer management, reporting and more.
- π User Authentication: Separate login systems for customers and staff members.
- π₯ Movie Management: Add, update, and delete movies. Manage movie details including title, description, duration, and genre.
- π Screening Management: Schedule movie screenings across different theaters and halls.
- ποΈ Ticket Booking: Allow customers to book tickets for movie screenings, including seat selection.
- π Home Movie Links: Provide options for customers to purchase links for home viewing of selected movies.
- π Ticket Tabs: Implement a system for bulk ticket purchases (ticket tabs).
- π° Dynamic Pricing: Support for changing movie prices with approval system.
- π Reporting: Generate various reports including sales data and customer complaints.
- π Customer Complaint System: Handle and track customer complaints.
- π§ Backend: Java
- π₯οΈ Frontend: JavaFX
- ποΈ Database: MySQL with Hibernate ORM
- ποΈ Build Tool: Maven
The project is divided into two main components:
- π₯οΈ Client: Handles the user interface and client-side logic.
- π§ Server: Manages the business logic and database interactions.
Key packages include:
entities
: Contains all entity classes (Movie, Screening, Ticket, etc.)client
: Client-side controllers and viewsserver
: Server-side logic and database operations
- Clone the repository
- Ensure you have Java JDK 13 or later installed
- Set up MySQL database and update
hibernate.properties
with your database credentials (make sure that hibernate.hbm2ddl.auto = create) - Build the project using Maven:
mvn clean install
- Run the server application
- Run the client application
Made by Dostonbek Islambekov, Yarden Itzhaky, Daniel Bobritzki, Meshi Itzhaki, Yonathan Harel.