Skip to content

System for making reservations for single movie seats as well as entire movie halls

Notifications You must be signed in to change notification settings

marwlod/cinema-reservation-system

Repository files navigation

Cinema reservation system

Overview

Cinema reservation system (CRS) was designed and programmed from scratch as part of the Object-oriented Technology AGH UST course. It's main purpose is to make the process of reservation/booking of cinema seats or entire halls as seamless as possible. Prior to using it, CRS requires registration.

There are two types of users:

  • regular user - can browse through available movies and halls, make a reservation for a seat for chosen movie, book an entire hall at least two weeks in advance (provided that he pays an advance payment).
  • admin - can browse through available movies and halls, can add new movies and new screenings, can browse through aggregated statistics regarding past reservations.

CRS consists of two separate applications:

CRS requires an integration with external payments' system. To avoid integrating with the real system at this stage, the payments' mock was created.

Run and test manually

(Docker and npm required)

  1. Run database from Docker image:
    ./gradlew composeUp
  2. Run backend API:
    ./gradlew :api:bootRun
  3. Run payments' mock:
    ./gradlew :payments-mock:bootRun
  4. Run frontend:
    cd front
    npm start
  5. Go to http://localhost:3000 in your favourite web browser.
  6. Either
  7. Have fun.

Tech stack

Backend:

  • Java 11
  • Spring (Boot, Core, Data)
  • JUnit
  • MySQL
  • Gradle
  • Docker

Frontend:

  • JavaScript
  • React
  • HTML 5
  • CSS 3

Docs

  1. Developer's guide
  2. Building
  3. Docker/MySQL
  4. Architecture

Known issues

Issues

About

System for making reservations for single movie seats as well as entire movie halls

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published