- Model-View-ViewModel architecture
- Dagger for Dependency Injection
- Retrofit for Service with Gson for Json Parsing and SimpleXML for XML Parsing
- Kotlin for development
- Kotlin DSL for converting gradle scripts from Groovy to Kotlin
- Coroutines for viewModel handling
- RecyclerView and CardView for list and individual list item views
- Picasso Image API for image loading/caching
- Mockito/Espresso/extJunit/Robolectric for unit testing and android tests for viewmodel, views
- OKHttp Interceptor/Mockserver for logging service responses on Logcat and creating mock server for testing Repository
Had to use Gson instead of Moshi which is recommended library for Json parsing by Square, because the response from iTunes curl gives out a Json text file instead of Json as application/json content-type. Could'nt figure out a way to solve it throught Moshi, hence I had to settle with Gson which earlier older version used and worked
In lyric's curl the response is a XML, used SimpleXML library, JAXB and Jackson did not work with many combination of annotation and data class changes. May be in future worth looking at other libraries given that SimpleXML lib is depcreted