wellingtoncabral / android-compose-mvi-navigation

GithubCompose is a sample project that uses Compose + MVI + Navigation Component to presents a modern approach to Android app development.
99 stars 17 forks source link
android coil coil-kotlin coroutines-android coroutines-flow coroutines-flow-mvi jetpack-compose kotlin kotlin-android material-design mvi mvi-android navigation-architecture-component retrofit

GithubCompose (Kotlin + Jetpack Compose + Navigation + MVI)

Language

GithubCompose is a sample project that presents a modern approach to Android app development.

The project tries to combine popular Android tools and to demonstrate best development practices by utilizing up to date tech-stack like Compose, Kotlin Flow and Koin.

The sample app presents a modern Android application Architecture that is scalable and maintainable through a MVI.

Description

Light and Dark mode

Architecture

The project is layered traditionally with a View, Presentation, Model separation and presents a MVI inspired from Yusuf Ceylan's architecture but adapted to Compose.

Architecture layers:

There are a three core components described:

Every screen/flow defines its own contract class that states all corresponding core components described above: state content, events and effects.