Rijksmuseum API client
- Get an API Key from the Rijksmuseum API page
- Add API Key into
local.propertieswithapiKeyas the variable name.apiKey="<API_KEY>" - Build the app
The app uses a combination of the repository pattern and MVI (Model-View-Intent) to keep the code clean, readable, and maintainable.
- Repository Pattern - to have a clear separation between the
UIand theDatalayer - MVI (Model-View-Intent) - Reactive way in managing UI states. Decouples the UI logic from the UI rendering to keep the views passive. It is also easier to test since we only need to test the
actionand it should return astate. - Uses Kaskade to simplify the MVI Pattern
- Offline Mode - uses
OkHttp cache. Caches responses and uses them when network is not available
- State - Model that represents the ouput
- Action - Model that represents the input
- Result - Reduces action and state to a new state. Paired with an action to determine new state.
Side effects should only happen when:
- a user executes an
Action ActionHandler- usually get the data from repositoryRender- updates the UI from the emitted state

