DevTyme
Kotlin Multiplatform Mobile application built using that consumes WakaTime API
Table Of Content
Libraries
Shared
- kotlinx.coroutines - Library support for Kotlin coroutines with multiplatform support.
- Koin - Kotin dependency injection library with multiplatform support.
- kotlinx.serialization - Provides sets of libraries for various serialization formats eg. JSON, protocol buffers, CBOR etc.
- Ktor - Provides multiplatform libraries required to make network calls to the REST API.
- Realm - Caching of application data from network responses.
- Multiplatform Settings - This is a Kotlin library for Multiplatform apps, so that common code can persist key-value data.
- Napier - Logger library for Kotlin Multiplatform.
- Mockk - Library for creating mocks for tests.
Android
- Jetpack Compose - Modern toolkit for building native UI.
- Coil - An image loading library for Android backed by kotlin coroutines.
- Splash Screen API - Splash screen API reduces boilerplate code required to create a splash screen.
- Accompanist Navigation Animation - Add animation support when navigating between screens using Compose navigation component.
- Lottie Compose - Supports loading Lottie animations using jetpack compose.
Extras
- GitHub Actions -The project uses GitHub actions for CI?CD operations such as running automated builds, tests and deploying applications.
Demo
Android
Related Resources
In this section I've included some resources ie. articles and GitHub reposirtories that i used to learn about kotlin mutltiplatform mobile:
📽️
Videos - Your First Kotlin Multiplatform Mobile App Tutorial
- Sharing Code between iOS and Android with Kotlin #1
📖
Articles/Blogs - Kotlin Multiplatform Hands-on: Networking and Data Storage
- KaMPKit General Architecture
- Using Koin in a Kotlin Multiplatform Project
- Create your first cross-platform mobile app – tutorial - Learn how to create and run your first Kotlin Multiplatform Mobile application.
- Kotlin Multiplatform. Very beginner’s guide (part 1-3)
- Using Realm persistence library in a Kotlin Multiplatform project
🤖
Sample Projects - KMM Sample - A sample project for experiments with Kotlin Multiplatform mobile.
- Fantasy Premier League - Kotlin Multiplatform project with Jetpack Compose, Compose for Desktop and SwiftUI clients (and using Ktor for remote API requests and Realm for persistence).
- KaMPKit
- People In Space - Minimal Kotlin Multiplatform project with SwiftUI, Jetpack Compose, Compose for Wear OS, Compose for Desktop, Compose for Web, and Kotlin/JS + React clients along with Ktor backend.
Other Helpful Resources
In this section I've included resources that are not related to kotin multiplatform mobile but were really helpful in learning other android components and tools:
📽️
Videos - ToDo
📖
Articles/Blogs - ToDo
🤖
Sample Projects - MortyComposeKMM - Kotlin Multiplatform sample that demonstrates use of GraphQL + Jetpack Compose and SwiftUI (based on https://github.com/Dimillian/MortyUI SwiftUI project).