This application has been made making use of the following technologies:
- Kotlin
- RxAndroid, RxKotlin for async tasks and data extraction
- Dagger2 for dependency injection when needed
- Retrofit to retrieve data from external API
- GSON to parse retrieved data
- ViewModel to avoid overcode in Activity / Fragments
- Lifecycle-aware components to make the app's model and data outlive Activity changes
- DataBinding to populate views and reduce code while accessing UI elements
- LiveData to Observe the ViewModel from the UI