In this Project you'll find:
- Kotlin Coroutines for background operations.
- A presentation layer that contains a fragment (View) and a ViewModel per screen (or feature).
- Reactive UIs using LiveData observables and Data Binding.
- A data layer with a repository and two data sources (local using Room and remote) that are queried with one-shot operations (no listeners or data streams).
- A collection of unit, integration and e2e tests
The app in this project aims to be simple enough that you can understand it quickly, but complex enough to showcase difficult design decisions and testing scenarios.