A Take home Android Assessment test for Journi, Austria
The goal of this coding challenge is to make improvements to a small Android app as provided by the Journi Android Team.
Challenges Tackled:
- Add a Jetpack compose screen to fetch a list of Stamps from API
- Refactor the Architecture to follow MVVM, Clean Architecture pattern using Viewmodels, Repository, DataSource, Network, Usecase packages
- Use Hilt dependency Injection
- Transition from Retrofit 2 to Retrofit 3 by using Suspend function and leveraging Kotlin Coroutines
- Add a new API to remove stamp feature and refresh Compose UI via State Hoisting and Management
- Add Debounce to the existing search screen to avoid calling the Search API too many times