Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mjovanc/awesome-ktor

Awesome books, tutorials, courses, and resources for the Ktor framework ecosystem. ⚡
https://github.com/mjovanc/awesome-ktor

List: awesome-ktor

awesome awesome-list kotlin ktor

Last synced: about 20 hours ago
JSON representation

Awesome books, tutorials, courses, and resources for the Ktor framework ecosystem. ⚡

Awesome Lists containing this project

README

        

# [![Ktor](https://avatars.githubusercontent.com/u/28214161?s=40&v=4.svg)](https://github.com/ktorio/ktor) Awesome Ktor

[![Awesome](https://awesome.re/badge.svg)](https://awesome.re)

Ktor is an asynchronous framework for creating microservices, web applications and more. Written in Kotlin from the ground up. This repo aims to be a curated list of awesome books, tutorials, courses, and resources for the Ktor framework ecosystem.

## Table of Contents

- [Books](#books)
- [Courses](#courses)
- [Articles](#articles)
- [Podcasts/Episodes](#podcastsepisodes)
- [Podcasts](#podcasts)
- [Episodes](#episodes)
- [Educational Projects](#educational-projects)
- [Ktor Projects](#ktor-projects)
- [Other Resources](#other-resources)
- [YouTube Channels, Videos and Playlists](#youtube-channels-videos-and-playlists)
- [Channels](#channels)
- [Playlists](#playlists)
- [Videos](#videos)
- [Blogs](#blogs)
- [Socials](#socials)
- [Contributing](#contributing)

## Books

- [Marcin Moskała - Kotlin coroutines deep dive](https://leanpub.com/coroutines) Very useful book to understand coroutines
and on deeper level. _Note: The book is not talking directly about Ktor, however it's talking about server side Kotlin in general._

## Courses

- [Hands-On Kotlin Web Development with Ktor](https://www.udemy.com/course/hands-on-kotlin-web-development-with-ktor/)

## Articles

- [Kotlin with Ktor](https://www.baeldung.com/kotlin/ktor) Explores how to create a standalone server application using Ktor.
- [Ktor: REST API for Mobile](https://www.kodeco.com/7265034-ktor-rest-api-for-mobile) Using Ktor to create REST APIs for mobile. You’ll create a Ktor REST API server named TodoServer. This server will authenticate users and provide an API for users and TODOs.
- [KtorEasy Medium articles:](https://medium.com/@math21/list/ktoreasy-210a142aecb1) Medium's article list explaining KtorEasy repository. Including explanation about its architecture, testing, deployment and backend monitoring with Grafana.
- [An opinionated Kotlin backend service](https://medium.com/p/87f814e3dffd) Article list explains the scaffolding for Kotlin / Ktor based backend services
- [How to Integrate Firebase Authentication with the Ktor Auth Feature](https://levelup.gitconnected.com/how-to-integrate-firebase-authentication-with-ktors-auth-feature-dc2c3893a0cc)

## Podcasts/Episodes

### Podcasts

### Episodes

- [Ktor with Ryan Harter](https://talkingkotlin.com/ktor-with-ryan-harter/) Talks about how Ktor can be used for developing server side applications and its differences with some other existing ones.

## Educational Projects

- [Samples for Ktor](https://github.com/ktorio/ktor-samples) A collection of ready-to-use samples for Ktor.
- [KtorEasy](https://github.com/mathias21/KtorEasy) Demonstrates a suggested Ktor architecture. It includes Backend implementation with Ktor, MariaDB database connection with Hikari, Docker command to build Backend container and Docker compose to run both database and backend instance.
- [Ktor Arrow Real World Example](https://github.com/nomisRev/ktor-arrow-example) Real World implementation - "The mother of all demo apps". Written in Kotlin, with Ktor, Arrow, SqlDelight, KotlinX Serialization, etc.
- [Starter project to create a simple RESTful web service in Kotlin](https://github.com/raharrison/kotlin-ktor-exposed-starter) Starter RESTful service with websocket notifications using Kotlin, Ktor and Exposed with H2, HikariCP and FlyWay.
- [RealWorld Kotlin Ktor Backend](https://github.com/dragneelfps/realworld-kotlin-ktor) Kotlin-Ktor codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.
- [github-alerts-kotlin](https://github.com/47deg/gh-alerts-subscriptions-kotlin) Example implementation of the subscription microservice (Ktor flavour).
- [Kotlin Native Server](https://github.com/nomisRev/ktor-k8s-zero-downtime) Kotlin Native Ktor server with K8s zero-downtime demo.
- [Tenistas REST Ktor (Spanish)](https://github.com/joseluisgs/tenistas-rest-ktor-2022-2023) Api REST de Tenistas con Ktor para Programación de Servicios y Procesos de 2º de DAM. Curso 2022/2023.
- [NotyKT](https://github.com/PatilShreyas/NotyKT) NotyKT is the complete Kotlin-stack note taking application built to demonstrate a use of Kotlin programming language in server-side and Modern Android development tools. REST API built using Ktor.
- [Ktor + Koin + MongoDB template](https://github.com/tkrason/ktor-koin-mongodb-template) An example project how to run Ktor + Koin + MongoDB. Save your `data` classes with ease and without blocking!
- [kotlin-backend-ktor](https://github.com/azlaan95/kotlin-backend-ktor) A demonstration of how we can use Kotlin as Backed with Ktor.
- [HTMX Sample app](https://github.com/Rattlyy/htmx-ktor) Ktor + PostgreSQL + HTMX + kotlin.html. All CRUD methods are implemented.

## Other Resources

### YouTube Channels, Videos and Playlists

#### Channels

- [Kotlin by JetBrains](https://www.youtube.com/@Kotlin/videos) the official YouTube channel of the Kotlin programming language. Kotlin Tutorials, Kotlin Multiplatform, Kotlin Coroutines, Kotlin Tips, Talking Kotlin Podcast, ATOM Podcast.

#### Playlists

- [Ktor - REST API Tutorials](https://www.youtube.com/playlist?list=PLFmuMD2V4CkyR0Pa42Cqu5mIhH17uG8nN)
- [Ktor tutorial with Project (A Note App)](https://www.youtube.com/playlist?list=PLW8cZbTuJWlBDFBAg-yPj_FzEcx25Ec5n) Create CRUD operations for Notes with Ktor and make an Android app and use the API.
- [Make a Chat App With Ktor](https://www.youtube.com/playlist?list=PLQkwcJG4YTCSHLKOwFeFvA7XlAGXYa_y0) Create a real time chat app in Android(adhering to the Clean Architecture guidelines) using Ktor, MongoDB and Jetpack Compose.

#### Videos

- [Building applications with Kotlin and Arrow.kt in style](https://www.youtube.com/watch?v=g79A6HmbW5M)
- [Graceful Resource Handling Using Structured Concurrency in Kotlin](https://www.youtube.com/watch?v=zKrTBH8jqH4)
- [Ktor From the Ground Up](https://www.youtube.com/watch?v=WlvK6zYo8Sw) Creating a robust asynchronous server-side applications with Ktor as well as looking at deployment models, the features it provides out of the box, and its extensibility model.
- [Building web applications with Ktor and Exposed](https://www.youtube.com/watch?v=QE_zk3V0j88) Learn how to bootstrap a project with Ktor, build interaction between server and client via WebSockets and add database support with the Exposed library.

### Blogs

- [Codersee](https://codersee.com) Codersee is a place, where you can learn programming- especially Kotlin and backend topics- through practical tutorials.

### Socials

- [Twitter: @JetBrainsKtor](https://twitter.com/jetbrainsktor)
- [Reddit: /r/ktor](https://www.reddit.com/r/ktor/)
- [ X ](https://twitter.com/i/communities/1711743225113760088) Unofficial Ktor community on X.

## Ktor Projects

- [Kryptokrona API](https://github.com/kryptokrona/kryptokrona-api) For caching and processing data from the blockchain to provide faster access for services.
- [Kodein](https://github.com/kosi-libs/Kodein) Kodein is a very simple and yet very useful dependency retrieval container. it is very easy to use and configure.
- [Ktor OpenAPI Generator](https://github.com/papsign/Ktor-OpenAPI-Generator) Ktor OpenAPI/Swagger 3 Generator.
- [Kompendium](https://github.com/bkbnio/kompendium) Intended to be a non-invasive OpenAPI spec generator for Ktor APIs. By operating entirely through Ktor's plugin architecture, it allows you to incrementally document your API without requiring you to rip out and replace the amazing code you have already written.
- [ktor-health-check](https://github.com/zensum/ktor-health-check) Simple, opinionated ktor health and readiness checks made for Kubernetes.
- [Cohort](https://github.com/sksamuel/cohort) Spring Actuator style replacement for Ktor. Provides health checks for orchestrators like Kubernetes and management of logging, databases, JVM settings, memory and threads in production.
- [SuspendApp with Ktor](https://github.com/arrow-kt/suspendapp#suspendapp-with-ktor) The module suspendapp-ktor provides a server constructor that lifts the Ktor ApplicationEngine in to a Resource, representing the Engine running an Application(i.e Netty) while supporting auto-reload.
- [kotlin-kafka](https://github.com/nomisRev/kotlin-kafka) Kafka bindings for Kotlin `suspend`, and Kafka streaming operators for KotlinX Flow. Designed for usage in Ktor.
- [Hoplite](https://github.com/sksamuel/hoplite) Kotlin library for loading configuration files into typesafe classes in a boilerplate-free way. Define your config using Kotlin data classes, and at startup Hoplite will read from one or more config files, mapping the values in those files into your config classes. Designed for usage in Ktor.
- [Tribune](https://github.com/sksamuel/tribune) Multiplatform Kotlin library that builds on Arrow to provide a toolset for creating simple parsers from raw input types, to properly validated parsed types. Designed for usage in Ktor.
- [Kweb](https://github.com/kwebio/kweb-core) A streamlined Kotlin web framework built on Ktor that makes it easy to create sophisticated interactive websites.
- [Ktor OpenAPI Spec Generator](https://github.com/bkbnio/kompendium)
- [Tegral OpenAPI](https://tegral.zoroark.guru/docs/modules/core/openapi/)
- [Kryptokrona Kotlin SDK](https://github.com/kryptokrona/kryptokrona-kotlin-sdk) Kryptokrona SDK in Kotlin for building decentralized private communication and payment systems. Uses Ktor client library to fetch data from RPC.
- [Extra Ktor Plugins](https://github.com/Flaxoos/extra-ktor-plugins) A library of extra plugins for multiplatform ktor server / client, including a plugin for Kafka, a flexible rate limiter plugin and a circuit breaker for ktor clients
- [Kotlin GCP Pubsub](https://github.com/nomisRev/kotlin-gcp-pubsub) A Ktor Plugin for convenient, and easy integrating with to Google Cloud Platform PubSub, includes testing support and integration with KotlinX Serialization.
- [Starter Project ktor](https://github.com/iammohdzaki/Starter-Project-Ktor) This is a starter project for building server-side applications using Ktor, a framework for building asynchronous servers and clients in connected systems. This template integrates MongoDB for database operations, Koin for dependency injection, and Swagger for API documentation.

## Contributing

Contributions are very welcome!

Feel free to open an issue or create a pull request with your additions.

Thank you!