Skip to content

an android project for demonstrating various cutting edge technologies and architecture patterns such as Coroutines Flow, Unidirectional Data Flow, MVI + MVVM, Dagger Hilt, Pagination(Lazy Loading), and Offline-first strategies on Android.

Notifications You must be signed in to change notification settings

Hessam-Emami/Block-Fetcher_UDF_FLOW_MVVM_Pagination

Repository files navigation

Block Fetcher

Block Fetcher is a simple app that shows nearby places to the user and is leveraging Foursquare public Api.

Screenshots

Idle Loading More Error, Retry Detail Example 1 Detail Example 2

Tools & Libs

Language Kotlin
Patterns MVVM, Repository, UDF
Packaging Feature-Based
Concurrency, Reactive Streams Coroutine, StateFlow, SharedFlow
Networking & Serialization Retrofit, Okhttp, Gson
Unit Testing (29% code coverage) Junit4, Mockito, MockWebServer
Static Code Analyzing, Formatting Jacoco, Detekt
Dependency Injection Dagger-Hilt
Caching Room, Preferences
Styling MaterialDesign(theming, color, typography)

Dependency Graph

1_SingletonComponent, Objects that may live through the whole lifecycle of the app

2_ActivityRetainedComponent, Objects that may live through configuration changes

3_ActivityComponent, Objects that may live through activity's normal lifecycle

Unit Test Coverage Report

About

an android project for demonstrating various cutting edge technologies and architecture patterns such as Coroutines Flow, Unidirectional Data Flow, MVI + MVVM, Dagger Hilt, Pagination(Lazy Loading), and Offline-first strategies on Android.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages