Skip to content

UncleBob clean architecture, MVVM architecture using Hilt, Retrofit, Coroutines, Flow, LiveData, shimmer layout, DataBinding and Navigation Component, unit testing, Mockito, Espresso.

Notifications You must be signed in to change notification settings

RamadanElSayed/PopularArticlesTask

Repository files navigation

PopularArticlesTask

A simple app to hit the NY Times Most Popular Articles API and show a list of articles, that shows details when items on the list are tapped (a typical master/detail app), that implements MVVM architecture using Hilt, Retrofit, Coroutines,Flow, LiveData,shimmer layout, DataBinding and Navigation Component ,unit testing ,Mockito , Espresso .

  1. Architecture Design Pattern
  2. MVVM
  3. Hilt (Dependency Injection)
  4. Live Data
  5. Coroutines
  6. Flow
  7. Retrofit
  8. Unit Testing
  9. Repository Pattern
  10. AndroidX
  11. Shimmer layout
  12. NYT News API
  13. JetPack Libraries
  14. Navigation Component

The app has following packages:

  1. data: It contains all the data accessing and manipulating components.
  2. di: Dependency providing classes using Hilt.
  3. domain: It contains dto classes and repositories.
  4. presentation: View classes along with their corresponding Presenters.
  5. utils: Utility classes.

Classes have been designed in such a way that it could be inherited and maximize the code reuse.


Guide to app architecture


Library reference resources:

  1. Hilt : https://developer.android.com/training/dependency-injection/hilt-android
  2. Coroutines: https://codelabs.developers.google.com/codelabs/kotlin-coroutines/
  3. Retrofit: https://square.github.io/retrofit/
  4. Flow: https://developer.android.com/kotlin/flow
  5. DataBinding: https://developer.android.com/topic/libraries/data-binding
  6. Navigation Component: https://developer.android.com/guide/navigation/navigation-getting-started
  7. Espresso https://developer.android.com/training/testing/espresso
  8. Mockito https://developer.android.com/training/testing/unit-testing/local-unit-tests

About

UncleBob clean architecture, MVVM architecture using Hilt, Retrofit, Coroutines, Flow, LiveData, shimmer layout, DataBinding and Navigation Component, unit testing, Mockito, Espresso.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages