Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alkaison/movie-ticket-booking-management-system

A modern desktop application based on Java, JavaFX, SQLite3, JSON for movie ticket booking. Made as part of the 4th Semester BSc IT course.
https://github.com/alkaison/movie-ticket-booking-management-system

java java-desktop-application javafx javafx-application javafx-desktop-apps json movie-ticket-booking movie-ticket-management sqlie3

Last synced: about 1 month ago
JSON representation

A modern desktop application based on Java, JavaFX, SQLite3, JSON for movie ticket booking. Made as part of the 4th Semester BSc IT course.

Awesome Lists containing this project

README

        

# Movie Ticket Booking System

Welcome to the Movie Ticket Booking System! This project, developed as part of the BSc IT Semester 4 curriculum, showcases a robust and intuitive application for booking movie tickets. With a sleek Java-based interface and a powerful SQLite3 database backend, this system offers users a seamless movie booking experience.

## Key Features

1. **Secure Authentication:**

- Enjoy a safe and streamlined sign-up and login process with Email OTP Verification, ensuring data security.

2. **Extensive Movie Library:**

- Explore an extensive collection of movies currently screening in theaters, with detailed information and images.

3. **Effortless Ticket Booking:**

- Easily book tickets for your favorite movies, choosing from a range of seat classes including Standard, Premium, and VIP.

4. **Convenient Payment Options:**

- Seamlessly manage payment methods for quick and hassle-free transactions, supporting popular methods like UPI and Credit/Debit cards.
- Instantly check ticket status and download tickets in PDF format for added convenience.

5. **Interactive Seat Selection:**

- Utilize an intuitive GUI for selecting preferred seats in the theater, enhancing the booking experience.

6. **Email Confirmation and QR Codes:**

- Receive instant email confirmations with ticket details for easy reference.
- Generate QR codes for fast validation at theater entrances, providing a seamless entry experience.

## Tech Stack

- **Java**: Utilized as the primary programming language for its versatility and robustness.
- **JavaFX**: Employs JavaFX for building the sleek and user-friendly graphical interface.
- **SQLite3**: Leverages SQLite3 as the backend database for efficient data management.
- **OMDB API**: Integrates OMDB API for accurate and up-to-date movie information retrieval.

### Versions of the Softwares, we used for development:

- Java JDK - `v21.0.2`
- JavaFX - `v21.0.2`
- Eclipse IDE - `v2023 12`

### Documents & Resources

- **Synopsis Report** - [Check](./Movie-Ticket-Booking-Management-System.pdf)
- **DB Schema** - [Check](https://app.eraser.io/workspace/freVQPx2kKihWa6JRkm3?elements=Eb7gNhDD2cNNixTv2wKuBw)
- **User Interfaces Design** - [Check](https://app.eraser.io/workspace/freVQPx2kKihWa6JRkm3?elements=o9i9GZu08Yh4SsWWOWHnGw)

## Team Members and Roles

- **Ganesh Mourya**: Project Manager, Lead Developer, Database Administrator.
- **Sanjiv Samal**: Team Lead, Lead Developer, Database Administrator.
- **Amit Nare**: GUI Designer.
- **Ayan Shaikh**: Developer, Payments Screen Developer, handling payment operations.
- **Ashwin Giri**: Screen Developer and Tester.

## Screenshots

### Login Screen

![Login Screen](https://i.postimg.cc/vZWgXvJV/login.png)

### Sign Up Screen 1

![Sign Up Screen 1](https://i.postimg.cc/DwV4qNMh/signup-1.png)

### Sign Up Screen 2

![Sign Up Screen 2](https://i.postimg.cc/15VNVSMM/signup-2.png)

### Forgot Password Screen

![Forgot Password Screen](https://i.postimg.cc/pdR9SFv1/forgot.png)

### Dashboard

![Dashboard](https://i.postimg.cc/vBX5hv6z/dashboard.png)

### Movies Dashboard

![Movies Dashboard](https://i.postimg.cc/fbNXhPcC/movies-dashboard.png)

### Movies Details

![Movies Details](https://i.postimg.cc/Y09Ysm6w/movie-details.png)

### Seats Selection

![Seats Selection](https://i.postimg.cc/MpjbwRh6/seats-selection.png)

### Payment Method Selection

![Payment Method Selection](https://i.postimg.cc/kXGvjLst/payments-selection.png)

### Payment - UPI Screen

![UPI Screen](https://i.postimg.cc/43kvxygz/upi-screen.png)

### Payment - Credit/Debit Card Screen

![Payment - Credit/Debit Card Screen](https://i.postimg.cc/zfCCbNz4/credit-debit-screen.png)

### Ticket Booked Screen

![Ticket Booked](https://i.postimg.cc/63BdCPTq/ticket-booked.png)

### Ticket Preview Screen

![Ticket Preview](https://i.postimg.cc/59nmSfBV/ticket-preview.png)

## Getting Started

### Prerequisites

- **JDK (Java Development Kit)**
- **JavaFX SDK**
- **SQLite3**

### Setup Instructions

1. **Clone the repository:**

```bash
git clone https://github.com/Alkaison/Movie-Ticket-Booking-System MovieTicketBookingManagementSystem
```

2. **Open the project in Eclipse IDE for Java Developers.**

3. **Add JavaFX and Required Jar files:**

- Add JavaFX SDK.
- Add all the `.jar` files from the `src/application/lib/` folder into project settings.

4. **Configure JavaFX:**

- Ensure JavaFX libraries and all other .jar files are added to the project build path.
- If everything configured properly, errors from the code file will go away.

5. **Run the application.**

- Execute the `src/application/Main.java` file.

## Contributing

1. **Fork the repository.**
2. **Create a branch: `git checkout -b feature/new-feature`.**
3. **Commit changes: `git commit -m 'Add new feature'`.**
4. **Push to the branch: `git push origin feature/new-feature`.**
5. **Create a pull request.**

Feel free to reach out to any team member for further details or assistance. Happy coding!