Getting Started
Requirements
Section titled “Requirements”- Kotlin 2.3+
- Java 21 or Java 25, depending on the target repository
- Gradle Kotlin DSL
- Spring Boot 3/4 or Ktor 3 when using framework integrations
Add The Current BOM
Section titled “Add The Current BOM”In Gradle Kotlin DSL, keep the bluetape4k-dependencies version in the version
catalog and leave bluetape4k module aliases versionless.
[versions]bluetape4k-dependencies = "1.3.1"
[libraries]bluetape4k-dependencies = { module = "io.github.bluetape4k:bluetape4k-dependencies", version.ref = "bluetape4k-dependencies" }bluetape4k-core = { module = "io.github.bluetape4k:bluetape4k-core" }bluetape4k-coroutines = { module = "io.github.bluetape4k:bluetape4k-coroutines" }The central BOM governs shared third-party versions and bluetape4k module versions. The module dependencies stay versionless in application builds.
dependencies { implementation(platform(libs.bluetape4k.dependencies)) implementation(libs.bluetape4k.core) implementation(libs.bluetape4k.coroutines)}The same rule applies to repository-specific modules. Keep the central BOM and add only the modules your service uses.
[libraries]exposed-jdbc = { module = "io.github.bluetape4k.exposed:bluetape4k-exposed-jdbc" }bluetape4k-aws = { module = "io.github.bluetape4k.aws:bluetape4k-aws-spring-boot" }dependencies { implementation(platform(libs.bluetape4k.dependencies)) implementation(libs.exposed.jdbc) implementation(libs.bluetape4k.aws)}See Version Governance for the current dependency governance baseline.
Choose A Starting Point
Section titled “Choose A Starting Point”| Goal | Start here |
|---|---|
| Shared version governance | bluetape4k-dependencies |
| Core Kotlin and Spring Boot backend utilities | bluetape4k-projects |
| Exposed JDBC/R2DBC repositories | bluetape4k-exposed |
| AWS SDK v2 and Kotlin SDK wrappers | bluetape4k-aws |
| Graph database integrations | bluetape4k-graph |
| Distributed leader election and runtime coordination | bluetape4k-leader |
| Korean/Japanese tokenizers and text processing | bluetape4k-text |
| Backend image processing | bluetape4k-image |
| Audit history and entity diff workflows | bluetape4k-javers |
| Platform migration and incubation work | bluetape4k-experimental |
| General end-to-end examples | bluetape4k-workshop |
| Exposed JDBC examples | exposed-workshop |
| Exposed R2DBC examples | exposed-r2dbc-workshop |
| Optimization examples | timefold-workshop |
| Reference application | clinic-appointment |
Verify A Project
Section titled “Verify A Project”./gradlew compileTestKotlin --no-daemonRun compile checks before widening the dependency surface. For modules backed by containers, run the focused integration tests after compile succeeds.