Kotlin Coroutines example with Android Architecture components and Clean Architecture

It is a simple example that showcases how to architect an android app in a clean architecture way. It simply shows a list of customers that is fetched from remote api or a loaded from a local db

The Same example in Java is here: https://github.com/rmoustafa/Clean-Architecture-with-Architecture-components

Clean Architecture

clean_architecture

Architectural approach

clean_architecture_layers

Android Architecture components with clean Architectural

clean

Libraries

  • AndroidX
  • Android Architecture Components
  • Kotlin Coroutines
  • Dagger 2 for dependency injection
  • Retrofit for REST api communication
  • GSon
  • Timber for logging
  • JUnit for unit testing
  • espresso for UI tests
  • mockito for mocking in tests