Cinema is a simple website that shows a weeks worth of movie sessions. The user can filter these different movie showings by various categories. Once a user finds a suitable movie to watch, they can choose how many tickets they want. After that they can choose the recommended seats generated by an algorithm or pick their own. Once the user has a history of movies, the recommendation tab suggests movies to watch.
cinema-demo.mp4
- Front-end: Thymeleaf, Htmx, TailwindCSS
- Back-end: Spring Boot, H2 Database
The application can be built using the following command:
gradlew clean build
Node.js is automatically downloaded using the gradle-node-plugin and the final JS/CSS files are integrated into the jar.
Start your application with the following command - here with the profile production:
java -Dspring.profiles.active=production -jar ./build/libs/cinema-0.0.1-SNAPSHOT.jar
If required, a Docker image can be created with the Spring Boot plugin. Add SPRING_PROFILES_ACTIVE=production as
environment variable when running the container.
gradlew bootBuildImage --imageName=mttsner/cinema
