This repository contains a number of independent Kotlin / Gradle projects. These are used as samples within the GOTO Amsterdam 2024 talk entitled Using Ktor 3.0 with all the Shiny Things. All the projects are based around the idea of a microservice that provides endopoints for querying Stack Exchange.
The projects are as follows:
- ktor-notebooks - Provides a notebook which uses the built-in support for Ktor Client in Kotlin Notebook.
- ktor-testing - Shows how to use the built-in Ktor testing framework to validate your services and mock out dependencies.
- ktor-koin - Covers integrating Ktor with the Koin library, for the purpose of injecting dependencies.
- ktor-websockets - Demonstrates how to configure support for WebSockets in Ktor microservices, allowing you to incrementally stream data down to a client.
- ktor-graphql - Uses GraphQL, instead of REST, for querying and modifying data.
- kmp-ktor-retries - Contains a Compose Multiplatform client, which uses the retry functionality in Ktor Client to repeatedly attempt to access a service.
- ktor-native-server - Demonstrates how to configure and build a Ktor microservice using the Kotlin Native compiler.