This is a Java console-based application that manages movies, showtimes, and ticket bookings.
It supports multiple user roles: Admin, Staff, and Customer, each with specific permissions.
The project demonstrates object-oriented programming, role-based access, and data handling in Java.
- Add, view, and delete movies
- View all bookings
- Filter bookings by movie, customer, or date
- Input validation for movie details
- Schedule, update, and cancel movie shows
- View all shows with Show ID, date, time, and available seats
- Input validation and error handling
- View and edit profile
- Browse movies and available shows
- Book tickets and view booking history
- View active bookings and balance
- User registration with auto-generated User ID
- Role-based login and access control
- Console-based interactive menus
- Language: Java
- OOP Concepts: Classes, Objects, Encapsulation, Static members
- Collections: ArrayList for storing users, movies, shows, and bookings
- Error Handling: Try-catch and input validation
- Role-Based Access Control
- Console-Based Menu Design
- Users register with name, email, password, and role (Admin/Staff/Customer)
- Users log in with email and password
- Role-specific menus are displayed:
- Admin: manage movies and bookings
- Staff: schedule and manage shows
- Customer: book tickets and view profile/history
Console UI Interactive menu-driven design