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.