Introduction
The best first step is the guided Creating Your First Kora Application tutorial.
It walks through a minimal HTTP service and explains how @KoraApp, @Component, @HttpController, and @HttpRoute
fit together in a real Gradle project.
Use the documentation in two complementary ways:
- Guides are step-by-step tutorials. They explain the concepts, the code shape, and the reasoning behind each module.
- Repository examples are complete runnable services. They are useful when you want to compare your project with a working application or copy a proven setup.
Every guide and every example targets the same toolchain: JDK 25, Gradle 9.5+, the io.koraframework:kora-bom BOM,
and, for Kotlin, Kotlin 2.4 with a matching KSP 2.3 release (the framework itself is built with Kotlin 2.4.20 and KSP 2.3.12).
The toolchain itself is described in Compatibility and Build System.
Guided Learning Path¶
Start with the basics:
- Creating Your First Kora Application - build and run the smallest useful HTTP service.
- Dependency Injection Introduction and Dependency Injection - learn Kora's compile-time graph, components, modules, tags, and factories.
- HOCON Configuration, YAML Configuration and JSON - add the common foundation every service needs.
Then move to application features:
- HTTP and API: HTTP Server, Advanced HTTP Server, HTTP Client, Advanced HTTP Client, OpenAPI HTTP Server, Advanced OpenAPI HTTP Server, and OpenAPI HTTP Client.
- Data access: JDBC Database, Advanced JDBC Database, and Cassandra Database.
- Integration modules: Kafka Messaging, gRPC Server, Advanced gRPC Server, gRPC Client, Advanced gRPC Client, and S3.
- Production concerns: Cache, Multi-Level Cache, Resilience, and Validation.
- Observability: Metrics, Tracing, and Probes.
- Testing: Component Testing, Integration Testing, and Black-Box Testing.
Many guides also link to finished Java and Kotlin applications in the kora-examples repository, so you can read the tutorial and immediately inspect the complete project structure.
Repository Examples¶
A large number of complete services using different Kora modules can be found in the kora-examples repository.
Useful starting points include:
- Hello World service
- CRUD service
- HTTP server
- HTTP client
- JDBC database
- Kafka
- OpenAPI HTTP server generation
- OpenAPI HTTP client generation
- PetClinic application
Each example service includes tests that show how to verify the application with the Kora JUnit 5 extension and how to run black-box checks with Testcontainers.
- Hello World service
- CRUD service
- HTTP server
- HTTP client
- JDBC database
- Kafka
- OpenAPI HTTP server generation
- OpenAPI HTTP client generation
- PetClinic application
Each example service includes tests that show how to verify the application with the Kora JUnit 5 extension and how to run black-box checks with Testcontainers.
The finished applications that the guides themselves build live next to the examples, under guides/java and guides/kotlin.
Project Templates¶
You can create a new Java service with the Kora Java template.
You can create a new Kotlin service with the Kora Kotlin template.
Integration Authoring¶
Learn integration authoring through three focused examples: a Neo4j module with lifecycle and telemetry, a DTO builder generated with Java AP and Kotlin KSP, and a custom Kora aspect. They explain runtime wiring, source generation and method interception separately.