- Model-View-ViewModel architecture
- Koin for Dependency Injection
- Retrofit for Service with Gson
- Kotlin for development
- Kotlin DSL for project setup
- Coroutines for viewModel handling of async and non-blocking programming.
- Jetpack Compose for Card Item and LazyColum which is recyclerView in Compose World.
- 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
- Room Db for cache implementation for retrieved response in case network is lost
Here's the video of how the app works and looks like.
Android App to display the list of NBA teams with wins/loss and on tapping on each list item Take user to detailed screen with the same selected team stats but with list of players now.