Project purpose
Available functions
Project structure
For developer
Authors
This is a template for creating a fully working movie ticket booking service with a basic interface.
For all users:
- view all available cinema halls movies, movie sessions, orders;
- get user by email;
- registration;
- log in;
- log out.
For users with a USER role only:
- add movie sessions to user's shopping cart;
- view shopping cart by user's ID;
- complete order.
For users with an ADMIN role only:
- add movie, movie session, cinema hall.
- Java 11
- Apache Maven 4.0.0
- Hibernate 5.4.15
- Hibernate Validator 6.1.5
- Spring Framework, WebMVC 5.2.6
- Spring Security 5.3.3
- MySQL 8.0.20
- log4j2 2.13
- Servlet API 4.0.1
- Jackson Databind 2.11
- Apache Maven Checkstyle Plugin 3.1.1
- Lombok 1.18.12
To run this project you need to have installed:
- Java 11+
- Tomcat
- MySQL (Optional)
This project is RESTful and MVC-based and thus has:
- DAO layer;
- Service layer;
- Controllers;
- DTOs.
Launch guide:
- Open the project in your IDE.
- Add it as maven project.
- Configure Tomcat:
- add an artifact;
- add SDK 11.0.3.
- Add SDK 11.0.3 in project structure.
- Change a path at /cinema-booking-project/src/main/resources/log4j2.xml on line 7. It has to reach your logFile.
- Run the project.
- After you launch this project:
- By default, there is one user with the USER role (email = "user@cinema.net", password = "user1") and one with an ADMIN role (login = "admin@cinema.net", password = "admin"). You can change these at /cinema-booking-project/src/main/java/com/cinema/controllers/InjectDataController.java
To work with MySQL you need to*:
At /cinema-booking-project/src/main/resources/db.properties use URL, username and password for your DB to create a Connection.
*This project uses MySQL by default