Uses Spring Boot MVC with Thymeleaf for processing HTML templates. Thus,
as per documentation,
all th:* expressions are processed as Spring's own
SpEL
(not Thymeleaf's OGNL).
-
Install Docker 20+ and Java JDK 21+.
-
Git-checkout the project code.
This is enough to build by running gradlew build / gradlew bootJar in the project's root directory.
If you use Intellij IDEA, it should automatically run the initial project setup, including downloading all dependencies etc., on first opening of the project.
Run locally with gradlew bootRun, or, in IntelliJ IDEA, use the green "run" icon at the main() function
line in the Main.kt file to create a run configuration.
The app is meant to be deployed and run as a Docker container, and has a prepared Dockerfile for this
purpose. It can be built and run with standard docker commands (docker built -t senie . and docker run senie).
All app configuration is found in the application.yaml file in the project resource file, and can be
overridden with correctly named environment variables as per Spring's
relaxed binding rules.
The main configuration properties that need to be provided for every environment is the DB connection to the
relevant DB, using DB_* environment variables:
DB_HOSTDB_PORTDB_NAMEDB_USERDB_PASS