Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kl3jvi/mvi_clean_architecture
🍔 Restaurant listing android app using MVI architecture. Using jetpack libraries such as Flows,Coroutines, Dagger-Hilt, Room etc.
https://github.com/kl3jvi/mvi_clean_architecture
android coroutines-android flows mvi-architecture mvvm unit-testing
Last synced: about 3 hours ago
JSON representation
🍔 Restaurant listing android app using MVI architecture. Using jetpack libraries such as Flows,Coroutines, Dagger-Hilt, Room etc.
- Host: GitHub
- URL: https://github.com/kl3jvi/mvi_clean_architecture
- Owner: kl3jvi
- Created: 2022-07-16T13:57:57.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-01-16T15:05:26.000Z (almost 2 years ago)
- Last Synced: 2023-03-06T11:36:51.777Z (over 1 year ago)
- Topics: android, coroutines-android, flows, mvi-architecture, mvvm, unit-testing
- Language: Kotlin
- Homepage:
- Size: 14.6 MB
- Stars: 20
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
🍔 Restaurant App - MVI Architecture Example
Restaurant listing android app using MVI architecture. Using jetpack libraries such as Flows,Coroutines, Dagger-Hilt, Room etc.
**Star :star: this repo to show your support and it really does matter!** :clap:
## Screenshots
[](images/sc_1.png)
[](images/sc_2.png)
[](images/sc_3.png)## Tech stack & Open-source libraries
- Minimum SDK level 21
- [Kotlin](https://kotlinlang.org/) based, [Coroutines](https://github.com/Kotlin/kotlinx.coroutines) + [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/) for asynchronous.
- Jetpack
- Lifecycle: Observe Android lifecycles and handle UI states upon the lifecycle changes.
- ViewModel: Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
- DataBinding: Binds UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
- Room: Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
- [Hilt](https://dagger.dev/hilt/): for dependency injection.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Repository Pattern
- [Retrofit2 & OkHttp3](https://github.com/square/retrofit): Construct the REST APIs and paging network data.
- [ksp](https://github.com/google/ksp): Kotlin Symbol Processing API.
- [Turbine](https://github.com/cashapp/turbine): A small testing library for kotlinx.coroutines Flow.
- [Material-Components](https://github.com/material-components/material-components-android): Material design components for building ripple animation, and CardView.## Architecture
**This App** is based on the MVVM architecture and the Repository pattern, which follows the [Google's official architecture guidance](https://developer.android.com/topic/architecture).## Contribution
Your ideas, translations, design changes, code cleaning, or real heavy code changes or any help is always welcome. The more is contribution the better it gets[Pull requests](https://github.com/kl3jvi/animity/pulls) will be reviewed