Skip to content
/ KMMTemplateApp Public template

Starter Compose Multiplatform template that provides a project structure following good practices: MVVM, Coroutines, Flows, Ktor, Room, Koin and more.

Notifications You must be signed in to change notification settings

almarpa/KMMTemplateApp

Repository files navigation

KMMTemplateApp

Kotlin Compose Multiplatform License

A multiplatform project for Android and iOS developed with Kotlin Multiplatform Mobile (KMM). It shares business logic, models and UI code across platforms using Compose Multiplatform framework.

🚀 Features

  • Shared code for business logic and UI.
  • Clean modular architecture (data, domain and presentation layers).
  • Data persistence with Room and Datastore.
  • REST Api integration with Ktor and Ktorfit.
  • Shared UI with Jetpack Compose (Compose Multiplatform).
  • Dependency injection with Koin.
  • User preferences management.

⚙️ Project Structure

/
├── androidApp             # Android application
├── iosApp                 # iOS application
└── shared                 # Shared code
    ├── build.gradle.kts
    ├── src
    │   ├── commonMain     # Common code for all platforms
    │   │   ├── core       # Utilities and extensions
    │   │   ├── di         # Dependency injection
    │   │   ├── domain
    │   │   │   ├── models      # Data models
    │   │   │   ├── repository  # Repository interfaces
    │   │   │   └── usecases    # Use cases
    │   │   ├── data
    │   │   │   ├── datasources # Data sources (local and remote)
    │   │   │   └── repository  # Repository implementations
    │   │   └── presentation
    │   │       └── ui      # Compose Multiplatform UI components
    │   ├── androidMain    # Android-specific implementations
    │   └── iosMain       # iOS-specific implementations
    └── build.gradle.kts

Snapshots

About

Starter Compose Multiplatform template that provides a project structure following good practices: MVVM, Coroutines, Flows, Ktor, Room, Koin and more.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •