Skip to content

An Android MVVM sample using repository pattern and local storage caching

Notifications You must be signed in to change notification settings

Sdghasemi/RijksmuseumCollection

Repository files navigation

Rijksmuseum Museum App

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.

Features

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.

Libraries

  • 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

Access to the API

RijksData API needs an API Key to work. You can replace the existing key with your own on build.gradle.kts.

APK

A pre-built APK is placed in the root of the project for your convenience.

Contact developer

If there's anything you'd like to discuss, feel free to contact me at [email protected].

Cheers🍻

About

An Android MVVM sample using repository pattern and local storage caching

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages