- Introduction
- Features
- Architecture
- Installation
- Usage
- Screenshots
- Technologies Used
- Contributing
- License
Welcome to the Movie Theatre Application! This application is designed to manage the operations of a movie theatre, including scheduling, ticketing, and customer management. It is built using Java and follows the MVCS (Model-View-Controller-Service) architectural pattern to ensure a robust and scalable structure.
- Movie Management: Add, update, delete, and list movies.
- Showtime Management: Schedule, update, and cancel showtimes.
- Ticket Booking: Book, update, and cancel tickets.
- Customer Management: Manage customer information and preferences.
- Reporting: Generate reports on sales, bookings, and customer demographics.
The application follows the MVCS pattern:
The Model represents the data and the business logic of the application. It is responsible for retrieving data from the database, processing it, and returning it to the Controller.
The View is responsible for displaying the data to the user and capturing user inputs. In this backend application, the views are represented as JSON responses for API endpoints.
The Controller handles user input and updates the Model and View accordingly. It receives input from the user, processes it (possibly asking the Model to change its state), and returns the output display to the user.
The Service layer contains business logic and communicates between the Controller and the Model. It helps in separating business logic from the Controller.
To install and run this application, follow these steps:
-
Clone the Repository:
git clone https://github.com/your_username/movie-theatre-application.git cd movie-theatre-application
-
Set Up Database: Ensure you have a MySQL database set up. Update the database configuration in
src/main/resources/application.properties
. -
Build the Application:
mvn clean install
-
Run the Application:
java -jar target/movie-theatre-application.jar
Once the application is running, you can access the API endpoints to manage movies, showtimes, tickets, and customers.
-
Movies:
GET /api/movies
POST /api/movies
PUT /api/movies/{id}
DELETE /api/movies/{id}
-
Showtimes:
GET /api/showtimes
POST /api/showtimes
PUT /api/showtimes/{id}
DELETE /api/showtimes/{id}
-
Tickets:
GET /api/tickets
POST /api/tickets
PUT /api/tickets/{id}
DELETE /api/tickets/{id}
-
Customers:
GET /api/customers
POST /api/customers
PUT /api/customers/{id}
DELETE /api/customers/{id}
- Java: Backend programming language.
- Spring Boot: Framework for building the application.
- MySQL: Database management system.
- Maven: Build automation tool.
- Swagger: API documentation.
Contributions are welcome! Please read the CONTRIBUTING.md for guidelines on how to contribute to this project.
This project is licensed under the MIT License. See the LICENSE file for details.