Skip to content

This is an application which allows Movie Theatres to manage the movies, their shows, screens and book tickets for customers. Generating daily reports for every screen and movies is also included.

License

Notifications You must be signed in to change notification settings

summahto/box-office

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Movie Theatre Application

image

Table of Contents

  1. Introduction
  2. Features
  3. Architecture
  4. Installation
  5. Usage
  6. Screenshots
  7. Technologies Used
  8. Contributing
  9. License

Introduction

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.

Features

  • 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.

Architecture

The application follows the MVCS pattern:

Model

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.

View

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.

Controller

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.

Service

The Service layer contains business logic and communicates between the Controller and the Model. It helps in separating business logic from the Controller.

MVCS Diagram

Installation

To install and run this application, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/your_username/movie-theatre-application.git
    cd movie-theatre-application
  2. Set Up Database: Ensure you have a MySQL database set up. Update the database configuration in src/main/resources/application.properties.

  3. Build the Application:

    mvn clean install
  4. Run the Application:

    java -jar target/movie-theatre-application.jar

Usage

Once the application is running, you can access the API endpoints to manage movies, showtimes, tickets, and customers.

API Endpoints

  • 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}

Screenshots

Dashboard

Dashboard

Movie Management

Movie Management

Booking Tickets

Booking Tickets

Technologies Used

  • Java: Backend programming language.
  • Spring Boot: Framework for building the application.
  • MySQL: Database management system.
  • Maven: Build automation tool.
  • Swagger: API documentation.

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md for guidelines on how to contribute to this project.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

This is an application which allows Movie Theatres to manage the movies, their shows, screens and book tickets for customers. Generating daily reports for every screen and movies is also included.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages