This is a Kotlin Multiplatform project targeting Android, iOS.
-
/composeAppis for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:commonMainis for code that’s common for all targets.- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app,
iosMainwould be the right folder for such calls.
-
/iosAppcontains iOS applications. Even if you’re sharing your UI with Compose Multiplatform, you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project.
- Minimum SDK level 21.
- 100% Jetpack Compose based + Coroutines
- Jetpack
- Compose: Android’s modern toolkit for building native UI.
- ViewModel: UI related data holder and lifecycle aware.
- App Startup: Provides a straightforward, performant way to initialize components at application startup.
- Paging: For navigating screens and Paging KMP
- Room: Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
- Ktor: HTTP client
- Koin: Dependency Injection.
- ksp: Kotlin Symbol Processing API.
- viewmodel-lifecycle: ViewModel Lifecycle allows you to track and observe Jetpack's ViewModel lifecycle changes.
Google's official architecture guidance.
This App was built with Guide to app architecture, so it would be a great sample to show how the architecture works in real-world projects.
The UI Layer consists of UI elements like buttons, menus, tabs that could interact with users and ViewModel that holds app states and restores data when configuration changes.
Learn more about Kotlin Multiplatform…







