From Mobile to Backend with Kotlin and Ktor
Abstract:
As mobile developers, we often see the backend world as something magical that "does things". But what if I tell you that you can easily build a backend even if mobile is your thing?With this talk, I want to show how it is possible to bring your mobile knowledge (and shift it a little bit) to build a backend with Kotlin and Ktor. I will show how to structure the project, set up Dependency Injection, connect to a database and test everything to have a working backend ready to be deployed.
Slides:
Video
Resources:
- Ktor
https://ktor.io/ - Ktor Documentation
https://ktor.io/docs/ - Ktor tutorial https://ktor.io/learn/
- Save data in a local database using Room
https://developer.android.com/training/data-storage/room - Exposed Wiki
https://github.com/JetBrains/Exposed/wiki - Koin on Ktor
https://insert-koin.io/docs/quickstart/ktor - Timber
https://github.com/JakeWharton/timber - Simple Logging Facade for Java (SLF4J)
http://www.slf4j.org/index.html - Ktor testing
https://ktor.io/docs/testing.html - Gradle Shadow
https://github.com/johnrengelman/shadow - Structuring a Ktor project
https://www.marcogomiero.com/posts/2021/ktor-project-structure/ - How to persist Ktor logs
https://www.marcogomiero.com/posts/2021/ktor-logging-on-disk/) - How to use an in-memory database for testing on Ktor
https://www.marcogomiero.com/posts/2021/ktor-in-memory-db-testing/) - How to handle database migrations with Liquibase on Ktor
https://www.marcogomiero.com/posts/2022/ktor-migration-liquibase/) - Generate API documentation from Swagger on Ktor
https://www.marcogomiero.com/posts/2022/ktor-setup-documentation/ - How to schedule jobs with Quartz on Ktor
https://www.marcogomiero.com/posts/2022/ktor-jobs-quartz/ - Moving from mobile to backend development with Ktor
https://www.marcogomiero.com/posts/2022/backend-from-mobile-ktor/