This is a sample app using RijksData API to perform queries on the museum collection endpoint and display thumbnails of Rembrandt works.
If there was an error retrieving data, a relevant message would inform the user about the situation.
The application reaches the endpoint and caches the response. The cache expires after 5 minutes and will get updated every 5 minutes while using the app. When the cache is ready and valid (not expired) no endpoint call is made and the UI is populated purely with the cache itself.
The images displayed as thumbnails are also cached for better experience.
- Basic test and AppCompat libraries such as: JUnit, Robolectric, Google Material, ConstraintLayout, Lifecycle (LiveData and ViewModels), Coroutines, etc.
- Retrofit and OkHttp for network calls
- Room for caching and Database manipulation
- Glide for image loading and caching (memory and disk) to maximize scroll smoothness
RijksData API needs an API Key to work. You can replace the existing key with your own on build.gradle.kts.
A pre-built APK is placed in the root of the project for your convenience.
If there's anything you'd like to discuss, feel free to contact me at [email protected].
Cheers🍻