BookMyShow is a movie ticket booking system project. This backend application is developed using Spring Boot and consists of various layers such as Controller, Service, Repository, and DTO (Data Transfer Object). These layers increase the project's code maintainability, understandability, and readability.
- Booking System: Users can book tickets and find shows.
- Movie Search: Allows users to search for movies.
- API Endpoints: Provides 10-12 API endpoints for various functionalities.
- Spring Boot: Utilizes Spring Boot for application configuration.
- JPA Hibernate: Uses JPA Hibernate for database interactions.
- Maven: Builds and manages the project using Maven.
- Postman: API testing and development.
Admins can:
- Add a Movie.
- Add a Theater.
- Add Theater Seats.
- Create a Show for any Movie in any theater.
- Create Show Seats for booking purposes.
Users can:
- Get the Show details.
- See the Show Seats.
- Book the Ticket for available seats.
- Cancel the Ticket.
- User Entity
- Movie Entity
- Theater Entity
- Show Entity
- Theater Seat Entity
- Show Seat Entity
- Ticket Entity
-
Backend:
- Spring Boot
- JPA Hibernate (MySQL DB)
- Maven
-
Tools:
- Postman
-
Clone the repository:
git clone https://github.com/samDeopa/Student_Library_Management_System.git cd Student_Library_Management_System -
Configure the MySQL Database:
- Ensure MySQL is installed and running.
- Create a database named
book_my_show_db. - Update the
application.propertiesfile with your MySQL username and password.
-
Build and Run the application:
mvn clean install mvn spring-boot:run
-
API Endpoints:
- Use Postman to test the various API endpoints provided by the application.
- Sample endpoints include booking tickets, finding shows, and searching for movies.
-
Booking Tickets:
- Endpoint:
/api/bookings - Method: POST
- Description: Book tickets for a show.
- Endpoint:
-
Finding Shows:
- Endpoint:
/api/shows - Method: GET
- Description: Retrieve a list of available shows.
- Endpoint:
-
Searching Movies:
- Endpoint:
/api/movies - Method: GET
- Description: Search for movies by title or genre.
- Endpoint:
book-my-show-backend/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── bookmyshow/
│ │ │ ├── controller/
│ │ │ ├── model/
│ │ │ ├── repository/
│ │ │ └── service/
│ │ └── resources/
│ │ ├── application.properties
│ │ └── data.sql
├── pom.xml
└── README.md
Contributions are welcome! Please open an issue or submit a pull request for any bugs, enhancements, or features you would like to add.
-
Fork the repository:
git fork https://github.com/samDeopa/Student_Library_Management_System.git
-
Create a new branch:
git checkout -b feature-branch
-
Make your changes and commit them:
git commit -m "Description of changes" -
Push to the branch:
git push origin feature-branch
-
Open a pull request:
- Go to the repository on GitHub and open a pull request.