This application represent a cinema ticket selling service. The application is intended for use by cinema halls admins and their user.
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
HINT: for testing you can use Postman and write request in the body
- 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
- Download and install MySQL
- Download and extract Maven
- Download and extract Tomcat 9.0.50
- Fork this project to your repository
- Clone it to your PC and open it in IDE
- Configure db.properties in "resources" folder
- Create new schema in MySQL
- Change the configuration to use "Tomcat Server Local"
- Run the project ๐