This project is a Spring Boot implementation of the backend APIs for a ticket booking system similar to the popular platform "BookMyShow". It provides a set of RESTful APIs that enable client applications to interact with the ticket booking system and perform various operations.
- User Registration: Users can create an account, log in, and manage their profile information.
- Movie Management: Admin users can add, edit, and remove movie from the system.
- Theater Management: Admin users can add, allocate seats, edit, and remove Theaters from the system.
- Ticket Booking: Users can browse through the available movie, select the desired event, and book tickets for it.
- Seat Selection: Users can choose their preferred seats from the available options for a selected event.
- Booking History: Users can view their booking history and check the details of their past bookings.
- Email Notifications: Users receive email notifications for successful bookings and important updates.
- Java 8+
- Spring Boot
- Spring MVC
- Spring Data JPA
- MySQL (as the database)
- Maven (for dependency management)
- SMTP Server (for sending email notifications)
To set up the project on your local machine, follow these steps:
- Clone the repository:
git clone https://github.com/Amit8127/Book-My-Show.git
- Navigate to the project directory:
cd book-my-show
- Configure the database settings in
application.properties
file. - Build the project using Maven:
mvn clean install
- Run the application:
mvn spring-boot:run
- The application will be accessible at
http://localhost:8080
.
This project uses MySQL as the database. Follow these steps to set up the database:
- Install MySQL on your local machine.
- Create a new database named bookmyshow.
- Update the database configuration in
application.properties
file.
The API documentation for this project can be found at http://localhost:8080/swagger-ui.html
. It provides detailed information about each API, including request/response formats and parameters.
- Spring Boot
- MySQL
Contributions to the project are welcome. If you find any bugs or have suggestions for improvement, please open an issue or submit a pull request.