Restaurant listing android app using MVI architecture. Using jetpack libraries such as Flows,Coroutines, Dagger-Hilt, Room etc.
- Minimum SDK level 21
- Kotlin based, 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: for dependency injection.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Repository Pattern
- Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
- ksp: Kotlin Symbol Processing API.
- Turbine: A small testing library for kotlinx.coroutines Flow.
- Material-Components: Material design components for building ripple animation, and CardView.
This App is based on the MVVM architecture and the Repository pattern, which follows the Google's official architecture guidance.
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 will be reviewed