Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sergio11/android_jsonplaceholder_prototyping_app

Android {JSON} Placeholder Prototyping App
https://github.com/sergio11/android_jsonplaceholder_prototyping_app

coroutines dagger2 gson jetpack-android material-design mockito-kotlin mvvm mvvm-architecture retrofit2 room room-persistence-library

Last synced: about 23 hours ago
JSON representation

Android {JSON} Placeholder Prototyping App

Awesome Lists containing this project

README

        

# Android {JSON} Placeholder Prototyping App

## Main Goals

* Clean architecture approach.
* Dependency injection through Dagger.
* Asynchronous operations management with coroutines.
* Using Material Design guidelines.
* Using Jetpack Navigation to configure the navigation between screens.
* Using local storage baseond on Jetpack Room Library to implement cache layer through repository pattern.
* Testing with mockito-kotlin, assertj, junit, robolectric mock web server..

## Points to be assess.

* Post detail is retrieved only once, next calls get the information from local storage.

* Also, I have configured a HTTP cache layer to give support to the ETAG mechanism. If a second post has the same author that has been retrieved before, is not necessary to get the same data again.

* You can see with the Android Studio database inspector how the data is structured to persist locally.

* Unit tests have been implemented to validate the logic implemented in the repository layer

## Screenshots