This project simulates work of a real movie-service app, letting you to:
- register as a user, log in as an admin or user
- check all available movies, movie sessions, cinema halls (data is displayed in JSON format)
- add tickets for movies you would like to watch, and complete the order after you got all the tickets you needed
POST: /register - all
POST: /cinema-halls - admin role required
POST: /movies - admin role required
POST: /movie-sessions - admin role required
PUT: /movie-sessions/{id} - admin role required
DELETE: /movie-sessions/{id} - admin role required
GET: /users/by-email - admin role required
GET: /cinema-halls - user/admin
GET: /movies - user/admin
GET: /movie-sessions/available - user/admin
GET: /movie-sessions/{id} - user/admin
GET: /orders - user role required
POST: /orders/complete - user role required
PUT: /shopping-carts/movie-sessions - user role required
GET: /shopping-carts/by-user - user role required
- Java 11
- Hibernate
- Spring
- MySQL
- REST
- Apache Tomcat
To install and run this app you need to consequently follow these steps:
- Install MySQL and Apache Tomcat
- Create an empty DB called "cinema-app"
- Clone this project to your IDE
- Configure src/main/resources/db.properties file for it to fit your DB
- Add Tomcat to your project's run/debug
- Edit admin's email/password if needed (src/main/java/application/config/DataInitializer)
- Run the project