https://github.com/msndie/cinema
Training project about web development with spring stack
https://github.com/msndie/cinema
freemarker hibernate java-8 spring-mvc springframework websockets
Last synced: 25 days ago
JSON representation
Training project about web development with spring stack
- Host: GitHub
- URL: https://github.com/msndie/cinema
- Owner: msndie
- Created: 2022-08-14T09:32:51.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-10-05T12:12:47.000Z (over 3 years ago)
- Last Synced: 2025-09-03T21:49:52.561Z (9 months ago)
- Topics: freemarker, hibernate, java-8, spring-mvc, springframework, websockets
- Language: Java
- Homepage:
- Size: 5.93 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cinema
/admin/panel/films

/admin/panel/halls

/admin/panel/sessions

/sessions

/films

/films/{id}/chat

This is a site for movie theater, it will be developed more in next project called CinemaSpringBoot.
In this project we use:
- Spring Controllers
- Hibernate without Spring Data Jpa
- Ajax-requests for live search on /sessions page
- Spring Websockets for chats (every movie has its own chat, since this project has no signIn/signUp functionality each user has its own random name, which is saved in cookies)
- FreeMarker as template engine.
# Launch
Docker
Just go to docker folder and run it with the following command
```
docker compose up --build
```
Manual
You need to create an empty database in postgres and write your credentials in application.properties file in corresponding folder and change path to folder where images will be stored.
Then just go to the folder ( i recommend ex02 :D ) and run the following command
```
mvn clean package org.codehaus.cargo:cargo-maven3-plugin:run
```
Voila
Website can be accessed through localhost:8080, but there is no no index
# Mappings
- /admin/panel/films (create film)
- /admin/panel/halls (create hall)
- /admin/panel/sessions (create session with available hall and film)
- /sessions (search available sessions with live search by name of the film)
- /sessions/{id} (info about particular session)
- /films (list of all films)
- /films/{id} (info about particular film)
- /films/{id}/chat (multiuser chat about particular film)