Git Product home page Git Product logo

cinema-app's Introduction

๐ŸŽฆ Cinema ๐ŸŽฆ

๐Ÿ”‘ About

Cinema is a simple API implemented with Hibernate and Spring that allows you to register, select a movie session or book a ticket, view attendance history if you are a user, an administrator can create a movie session and more.

๐Ÿ” Details

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.

๐Ÿ“œ Project Structure

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

All visitors can:

  • GET
    • log in GET: /login
    • logout GET: /logout
  • POST
    • register POST: /register

ADMIN can:

  • 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}
  • POST:
    • movies POST: /movies
    • cinema halls POST: /cinema-halls
    • movie sessions POST: /movie-sessions
  • PUT:
    • certain movie session PUT: /movie-sessions/{id}
  • DELETE:
    • certain movie session DELETE: /movie-sessions/{id}

USER can:

  • 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
  • POST:
    • orders POST: /orders/complete
  • PUT:
    • tickets to shopping cart for some movie session PUT: /shopping-carts/movie-sessions

๐Ÿ› ๏ธ Technologies

  • Relational Database Server
  • Elastic Beanstalk
  • 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

โš™๏ธ How to launch

USER roles:

- username - [email protected]
- password - user2022

ADMIN roles:

- username - [email protected]
- password - admin2022

๐Ÿš€ Future

  • upgrade from Spring to Spring Boot
  • add Logger
  • add Spring testing
  • add user registration page

cinema-app's People

Contributors

vladyslav-kondiievskyi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.