Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

DailyPulse

DailyPulse is a Kotlin Multiplatform (KMP) and Compose Multiplatform (CMP) sample application created as part of my learning journey into cross-platform development.

The project documents my progression from sharing only business logic using Kotlin Multiplatform to building a fully shared user interface with Compose Multiplatform.

The early development (approximately the first seven branches) focuses on Kotlin Multiplatform with native Android and iOS UIs, while the later branches transition to Compose Multiplatform, enabling a shared UI across multiple platforms.


🚀 Technologies

  • Kotlin Multiplatform (KMP)
  • Compose Multiplatform (CMP)
  • Clean Architecture
  • MVI
  • Koin (Dependency Injection)
  • Ktor (Networking)
  • Kotlin Coroutines
  • Flow
  • Kotlinx Serialization
  • SQLDelight

📱 Supported Platforms

Kotlin Multiplatform (Initial Branches)

  • ✅ Android
  • ✅ iOS

Shared business logic with platform-specific user interfaces.

Compose Multiplatform (Latest Branches)

  • ✅ Android
  • ✅ iOS
  • ✅ Desktop
  • ✅ Web

Shared business logic and shared UI built entirely with Compose Multiplatform.


🎯 Learning Objectives

This project is built to explore and practice:

  • Kotlin Multiplatform architecture
  • Compose Multiplatform UI development
  • Shared business logic
  • Dependency Injection with Koin
  • Networking using Ktor
  • Local database integration with SQLDelight
  • State management with MVVM
  • Reactive programming using Flow and Coroutines
  • Navigation
  • Platform-specific implementations using expect/actual
  • Cross-platform project structure
  • Best practices for scalable Multiplatform applications

🌱 Project Journey

The repository represents my learning progression:

  • Branches 1–7

    • Kotlin Multiplatform
    • Native Android UI (Jetpack Compose)
    • Native iOS UI (SwiftUI)
  • Latest Branches

    • Compose Multiplatform
    • Shared UI across Android, iOS, Desktop, and Web

This gradual migration demonstrates how a Kotlin Multiplatform project can evolve into a fully shared Compose Multiplatform application.


📚 Learning Note

This project is my own implementation while following the Kotlin Multiplatform course by Petros Efthymiou on Udemy.

It is intended for learning, experimentation, and portfolio purposes while exploring modern cross-platform application development.


📄 License

This project is licensed under the MIT License.

About

DailyPulse is a modern news application built to explore Kotlin Multiplatform and Compose Multiplatform using Clean Architecture, MVVM, Koin, Ktor, SQLDelight, and other modern Android/Kotlin technologies. The project demonstrates the evolution from shared business logic with native UIs to a fully shared Compose Multiplatform UI supporting Android.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors