Skip to content

MasoudFallahpour/CleanKmpDemo

Repository files navigation

This is a basic KMP demo project consisting of an Android and an iOS app. The apps display the list of SpaceX rocket launches.

Functionality

The app is quite basic in terms of functionality. It has a single page that displays the list of SpaceX rocket launches. It reads the data from a REST API if Internet is connected, otherwise it loads the data from the database.

Goals

The most important goal for me was to get more familiar with KMP by building a KMP app from scratch.

The second goal was to have a kind of blueprint for a typical KMP app that is implemented in a clean and scalable way using the latest technologies and best practices.

Components/Modules

  • androidApp: an Android application module containing the UI part of the Android app.
  • iosApp: an iOS application that contains the UI part of the iOS app.
  • shared: a KMP module that contains the shared code between the Android and iOS apps.

Everything except the UI implementation is shared between the Android and iOS apps.

Tools and Technologies

Architecture

The overall architecture of the app is Clean architecture and MVVM is used for the presentation layer.

Screenshots

Android

Android light theme screenshot Android dark theme screenshot

iOS

iOS light theme screenshot iOS dark theme screenshot

About

A very basic KMP app (Android and iOS) that displays the SpaceX rocket launches.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published