Skip to content

Weather app handson from KMP/CMP using clean architecture

Notifications You must be signed in to change notification settings

zaunabbas/WeatherApp-CMP

Repository files navigation

This is a Kotlin Multiplatform project targeting Android, iOS, Desktop.

  • /composeApp is for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:

    • commonMain is 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, iosMain would be the right folder for such calls.
  • /iosApp contains 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.

Weather Demo App

A simple Weather forecast demo app using OpenWeatherMap API with modern tech-stacks KMP/CMP, MVVM-Clean- Architecture and UI built with Jetpack Compose.

Download

Go to the Download Link to download the latest APK.

Screenshots

Tech stack & Open-source libraries

  • 100% Kotlin based + Coroutines + Flow for asynchronous.
  • Koin for dependency injection.
  • JetPack
    • Lifecycle - dispose observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
    • Jetpack Compose - Modern UI Tool Kit.
  • Architecture
    • MVVM + Clean Architecture (View - ViewModel - Model)
    • Repository pattern
  • Ktor Client - construct the REST APIs and paging network data.
  • Kottie - Render After Effects animations natively on KMP
  • Other Libs for, Korlinx dateTime & Louid-Country

Features:

  • Load Current weather
  • Load Today's hourly weather

About

Weather app handson from KMP/CMP using clean architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published