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.
- Java 17+
- Spring Boot 3.3.0
- Spring Data JPA
- MySQL (as the database)
- Maven (for dependency management)
To set up the project on your local machine, follow these steps:
- Clone the repository:
git clone https://github.com/ThisaraWeerakoon/movie-reservation-system
- Navigate to the project directory
- 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 movie_ticket_booking.
- 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.