This application is a prototype of an online store, where users can buy tickets to the performances.
Application is based on the N-tier architecture. Application has been developed according to SOLID principles. If you look at the project, you will find there:
- DAO layers;
- Service layers;
- Controllers layers;
- Models;
- Mappers to convert Entities into DTO;
- Mappers to convert DTO into Entity;
- Configurations to the Spring Security, MVC, etc.
Also, this project contains 2 roles for users. The first role is User. User can:
- Register on the Application;
- Log in to the Application;
- Add tickets for Performance to a shopping cart;
- Complete his order;
- View the history of his order;
The second role is Administrator. He can:
- All actions of the usual user;
- Add new stages;
- Add new Performance sessions;
- Add new Performances;
- Update information about Performance sessions;
- Delete information about Performance sessions;
Near you can see, a UML diagram of the project:

- Spring MVC;
- Spring Security;
- Hibernate;
- MySql;
- Java Core;
- Jackson;
- Apache Tomcat;
- Apache Maven;
- Download and Install JDK (If you don't do it yet);
- Download and Install servlet container(Tomcat, Jetty, etc.);
- Download and Install MySql Server;
- Create a schema in the MySql Server with a name: "opera";
- Also, you need to change the root name and password in the file db.properties to yours;
- Run application;
- To make tests more comfortable, you can download a Postman application;
e-mail - fatkullinmykola@gmail.com
LinkedIn - Fatkullin Mykola;
Skype - Fatkullin Mykola;