A sample of Spring boot WebFlux and Kotlin Coroutine with Handler and Router. In this sample, implementing Todo model, handler and router with database (PostgreSQL) testing.
- Java 25 (managed by mise)
- Docker 4.37.2 >=
- gradle 9.5.1 (provided by the Gradle wrapper)
- PostgreSQL 18 (spun up by
docker-compose, and by Testcontainers for tests)
Spring Boot 4.1 / Kotlin 2.3 / Spring Framework 7.
Please make sure Docker is up and running.
The JDK is pinned in mise.toml. Install it with:
$ mise trust
$ mise installmise then puts Java 25 on the PATH and sets JAVA_HOME for this directory.
$ make runapplication.yml will be referred for the configuration. This command does
- Build Docker image with the implementation
- Spin up Database and Springboot application (this application) by
docker-compose
$ make devDB
$ make devBootapplication-local.yml will be referred for the configuration.
make devDB only spins up Database, and make devBoot run this application by development mode via gradle.
$ gradle test --info$ make cleanThis command cleans up database.
http://localhost:8080/webjars/swagger-ui/index.htmlYou can run all commands by using Makefile. All available commands is displayed by typing,
$ make help