Skip to content

Repository files navigation

DailyNews

Compose Multiplatform news app targeting Android, iOS, Desktop (JVM) and Web (Wasm).
One codebase, four platforms — shared Kotlin Multiplatform (KMP) business logic with Clean Architecture & MVI.

Kotlin Compose Multiplatform Ktor SQLDelight Koin

Showcase by platform


Android

Android demo

iOS

iOS demo

Desktop

Desktop demo

Web

Web demo

Highlights

  • Single codebase → 4 platforms (Android, iOS, Desktop, Web/Wasm)
  • Clean Architecture + MVI presentation (State, Intent, Reducer)
  • Shared data layer with Ktor (HTTP) and SQLDelight (storage)
  • Dependency Injection via Koin
  • Compose UI across all targets

Project Structure

Module Platform(s) Purpose
shared/ 🧠 All KMP business logic — domain, data, MVI (state, intent, reducer)
composeApp/ 🤖 Android Jetpack Compose app shell + DI (Koin)
iosApp/ 🍎 iOS SwiftUI/UIKit host using the shared KMP layer
desktop/ 🖥️ Desktop (JVM) Compose Desktop app
web/ 🌐 Web (Wasm) Compose Multiplatform (Wasm) app
Mini folder tree (tap to expand)
shared/
 ├─ domain/          # use cases, models
 ├─ data/            # repositories, Ktor, SQLDelight
 └─ presentation/    # MVI: state, intent, reducer
composeApp/
 └─ src/
iosApp/
desktop/
web/
  

Getting Started (very short)

  • Clone the repo and open in Android Studio (latest stable with KMP support).
  • For iOS: open iosApp/ in Xcode to run on a simulator/device.
  • For Desktop/Web: run the corresponding Gradle run configurations from the IDE.

Tech Stack

  • Language: Kotlin (Multiplatform)
  • UI: Compose Multiplatform (Jetpack Compose on Android/Desktop; Compose for Web/Wasm)
  • DI: Koin
  • Networking: Ktor
  • Persistence: SQLDelight

About

Compose Multiplatform news app targeting Android, iOS, Desktop (JVM) and Web (Wasm). Shared KMP module with Clean Architecture, MVI, Ktor, SQLDelight, and Koin.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages