This is a repository to be used as a template for Kotlin applications. Batteries are included: you get Warwick SSO authentication, roles/groups, masquerading, frontend asset compilation, ID7 and other goodies out of the box.
Also includes:
- GitHub Actions CI
- Docker (with
docker-compose)
The application itself is based upon Spring Boot with Kotlin. Hibernate is used for persistence. Database migrations are handled by Flyway. FreeMarker is the template language. Authentication is provided via SSO Client and authorisation is managed by Spring Security.
- Copy
application-example.ymltoapplication.ymland replace the example PostgreSQL database details with your own - Copy
external-conf/example-sso-config-example.xmltoexternal-conf/example-sso-config.xmland add your own details - Run
./gradlew bootRunto install dependencies, build assets and compile and run the application - Run
./gradlew testto run the tests
Most of the template has been extracted from CAMCAT (the Course and Module Catalogue), with the groundwork performed by Alec.
Additions include GitHub CI, Docker and security headers.