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.
(Docker and npm required)
- Run database from Docker image:
./gradlew composeUp
- Run backend API:
./gradlew :api:bootRun
- Run payments' mock:
./gradlew :payments-mock:bootRun
- Run frontend:
cd front npm start
- Go to http://localhost:3000 in your favourite web browser.
- Either
- login as admin:
[email protected]
with password:test
or - login as regular client:
[email protected]
with passwordtest
or - create your own regular client account.
- login as admin:
- Have fun.
Backend:
- Java 11
- Spring (Boot, Core, Data)
- JUnit
- MySQL
- Gradle
- Docker
Frontend:
- JavaScript
- React
- HTML 5
- CSS 3