This app shows a list of studnets by making a network call and showing it a single screen
The design approach was to use MVVM to brake up the application into a small number of well defined classes with specific responsibilities.
- Dagger Hilt: - Dependency Injection
- Retrofit: - Network Calls and Offline Caching
- Coroutine: - Concurrency and cooperative multitasking
- Flow: - Process data stream asynchronously
- Mockito: - Unit testing
- Espresso: - UI testing
- LeakCanary: - Memory leak detection
Improvements
- Using a Room and android's paging library for data persistence, paging and to setup caching.
- Using fragments