This repository is a ready-to-use starter template for building modern cross-platform apps using Kotlin Multiplatform (KMP) and Compose Multiplatform (CMP).
It's designed to help developers kickstart their projects quickly with a clean architecture and all the essential tools and libraries pre-configured.
Clean and scalable architecture using MVVM with Use Cases, Repository pattern, and Kotlin Flows for reactive programming.
Properly organized package structure for separation of concerns, scalability, and easy maintenance.
Integrated lifecycle and ViewModel support for managing UI-related data in a lifecycle-conscious way.
Integrated with a live crypto coins API to demonstrate networking and UI-binding in action.
For making network calls across platforms using Ktor.
Lightweight and easy-to-use DI with Koin for shared and platform-specific modules.
Seamless image loading with Coil across supported platforms.
Includes a simple and extensible bottom navigation setup to handle multiple screens.
All dependencies managed using Version Catalogs (libs.versions.toml) for better consistency and maintainability.
This project is ideal for:
- Developers starting a new project with KMP + CMP
- Those who want to avoid setting up boilerplate code
- Teams looking for a maintainable, scalable base architecture
- Anyone wanting to explore real-time data handling using modern Kotlin tools
You can clone this repo and start building your app right away — no setup hassle, just the latest libraries and best practices bundled into one powerful template.
- API and paging defaults are centralized in:
composeApp/src/commonMain/kotlin/config/AppConfig.kt
- Base URL and endpoint constants are in:
composeApp/src/commonMain/kotlin/data/remote/api/NetworkConfig.kt
- Ktor client setup is in:
composeApp/src/commonMain/kotlin/data/remote/api/KtorHttpClient.kt
- Follow:
docs/ADD_NEW_FEATURE.md