This application displays a list of cats and some information about them. This implementation is based on the repository pattern and Android best practices. The repository pattern is visually represented below
This is a single Activity application with fragments. Each fragment is controlled by a ViewModel with Live data. The data repository provides the front end with data which is cached locally (in a Room database) after being retrieved form a remote source using Retrofit and Coroutines. The data is presented to the View using LiveData. This enables the app to be used in offline mode after the initial data has been downloaded.
The app makes use of the JetPack Navigation controller to easily control the flow and the data passed between screens.
The images are downloaded and automatically cached using Picasso.
The main features of the app includes a list of cats, details of the cats as well as an about screen. These features will be available in offline mode if it was cached previously.
List of random cat images from the API.
The details of the cats. Also includes a little meow
This app makes use of Jetpack Navigation
When offline, the user will still be able to access all of the data cached previously in the local Room database and with Picasso.
A simple about page.
Data retrieved from the cat api.
Icons made by Freepik from Flaticon
- Improve test coverage, including end to end tests
- Support 2 fragments in one view for landscape mode






