This application shows a list retrieved from the API. The list contains the deliveries and each delivery can be clicked to get the details with the location marked on the map
Repository is written in Kotlin and is based on MVVM(ViewModel, LiveData)
Dependency Injection is implemented using Dagger2
Caching is implemented using Room Database
Data can be refreshed using Pull to refresh
In case api fails, user can retry for fetching data again
Data binding using Data Binding
UI and Unit testing is achieved with Espresso, Mockito and MockWebServer
- Android Support Library
- Android Architecture Components
- Android Data Binding
- Dagger 2 for dependency injection
- Retrofit for REST api communication
- Glide for image loading
- Espresso for Android UI tests
- Mockito for evaluating app's logic using local unit tests
- MockWebServer for testing HTTP clients