Cinema is a simple API implemented with Hibernate and Spring that allows you to register, select a movie session or book a ticket, view attendance history if you are a user, an administrator can create a movie session and more.
The user can register, add a ticket to the cart, buy a ticket and get information about the session. Users have the opportunity to see what films are shown in a particular cinema, with the ability to view descriptions of films and descriptions of cinema halls.
Admins have the opportunity to add a cinema halls, a movie and a movie session. Can view user information.
In this project used the n-tier architecture
- DAO tier - allows to modify data in database using CRUD methods
- Service tier - this is where all the logic happens
- Controller tier - provides an interface to interact with application
- GET
- log in
GET: /login
- logout
GET: /logout
- log in
- POST
- register
POST: /register
- register
- GET:
- user by email
GET: /users/by-email
- movies
GET: /movies
- cinema halls
GET: /cinema-halls
- available movie sessions
GET: /movie-sessions/available
- certain movie session
GET: /movie-sessions/{id}
- user by email
- POST:
- movies
POST: /movies
- cinema halls
POST: /cinema-halls
- movie sessions
POST: /movie-sessions
- movies
- PUT:
- certain movie session
PUT: /movie-sessions/{id}
- certain movie session
- DELETE:
- certain movie session
DELETE: /movie-sessions/{id}
- certain movie session
- GET:
- orders
GET: /orders
- cinema halls
GET: /cinema-halls
- movies
GET: /movies
- available movie sessions
GET: /movie-sessions/available
- certain movie session
GET: /movie-sessions/{id}
- shopping carts by user
GET: /shopping-carts/by-user
- orders
- POST:
- orders
POST: /orders/complete
- orders
- PUT:
- tickets to shopping cart for some movie session
PUT: /shopping-carts/movie-sessions
- tickets to shopping cart for some movie session
- Relational Database Server
- Elastic Beanstalk
- MySQL 8.0.30
- Apache Maven 3.8.5
- Java 11
- Hibernate
- Spring Core
- Spring ORM
- Spring Web MVC
- Spring Security
- Apache TomCat 9.0.50
- click on the link
- username - [email protected]
- password - user2022
- username - [email protected]
- password - admin2022
- upgrade from Spring to Spring Boot
- add Logger
- add Spring testing
- add user registration page