Skip to content
This repository has been archived by the owner on Aug 3, 2023. It is now read-only.

vladpetrovskyi/cinema-booking_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ticket booking service

Header Image

Table of Contents

Project purpose
Available functions
Project structure
For developer
Authors

Project purpose

This is a template for creating a fully working movie ticket booking service with a basic interface.

Available Functions

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.

Project Structure

  • 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

For developer

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:

  1. Open the project in your IDE.
  2. Add it as maven project.
  3. Configure Tomcat:
    • add an artifact;
    • add SDK 11.0.3.
  4. Add SDK 11.0.3 in project structure.
  5. Change a path at /cinema-booking-project/src/main/resources/log4j2.xml on line 7. It has to reach your logFile.
  6. Run the project.
  7. 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

Authors

Vlad Petrovskyi