This is a sample project created by Bruno Ponte. It uses the Aptoide API to display available apps.
This app was implemented using the MVVM design pattern. It also uses CLEAN Architecture to facilitates scalability, maintanability and testability. The following relevant libraries were used:
- Retrofit: Used to perform the network requests and, with GSON, easily deserialize responses.
- Hilt: Used to perform Dependency Injection.
- Glide: Used to acquire images from URLs and inflate them in views.
- Jetpack Navigation: Used to perform navigation between fragments.
- Room: Used to implement local data persitence (cache).
- JUnit/Mockito/Espresso: Used to implement Unit and UI tests.
- Caching system
- Unit tests
- UI tests
- Device rotation support
- Dark mode support