A JavaFX-based application for booking movie tickets, managing movies, and handling showtimes and bookings for both customers and admins.
-
Admin Panel
- Add new movies with multiple showtimes and screens.
- View all movies and their details.
- View all booked tickets.
- Secure admin login (default password:
admin123
).
-
Customer Panel
- Browse all available movies and showtimes.
- Book tickets by selecting movie, showtime, and seat.
- Simple, modern UI built with JavaFX.
src/
logic/ # Core logic: Movie, Customer, Ticket, Managers
ui/ # JavaFX UI screens
styles/ # CSS for JavaFX
lib/ # JavaFX libraries and native dependencies
resource/ # (reserved for images, etc.)
- Java 17 or later
- JavaFX 21+ (included in
src/lib/
) - A Java IDE (e.g., IntelliJ IDEA, VS Code)
-
Clone the repository:
git clone https://github.com/your-username/movie-ticket-system.git cd movie-ticket-system
-
Open in your IDE and ensure the JavaFX libraries in
src/lib/
are added to your project/module dependencies. -
Run the application:
- Run the
logic.Main
class to launch the JavaFX GUI. - Alternatively, run
logic.MovieTicketSystem
for the console version.
- Run the
- On launch, you'll see a welcome screen.
- Customers can view movies and book tickets.
- Admins can log in (password:
admin123
) to add movies, view movies, and see all bookings.
logic.Movie
: Represents a movie and its showtimes.logic.MovieManager
: Handles movie CRUD operations.logic.Ticket
: Represents a booked ticket.logic.TicketManager
: Manages all ticket bookings.logic.Customer
: Represents a customer.logic/Main.java
: JavaFX application entry point.logic/MovieTicketSystem.java
: Console application entry point.
- Styling: Modify
src/styles/app.css
for UI changes. - JavaFX Libraries: Update or replace JARs in
src/lib/
as needed for your platform.
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes and test thoroughly.
- Submit a pull request with a clear description.
This project is licensed under the MIT License.