Skip to content

samdanTetteh/Dog-Friendly

Repository files navigation

Dog Api logo

Dog Friendly

This application make use of the Dogs Api hosted here. Currently has two screens, the first screen displays a clickable vertical list of all dog breeds and their corresponding sub breeds. The second screen shows a grid list of all images pertaining to the selected breed.

Please find below more details...

Clean architecture with 3 layers

  • Data (for database, API and preferences code)
  • Domain (for business logic and models)
  • Presentation/App (for UI logic, with MVI)

Architecture logo

Tests

  • Unit tests
  • Application tests
  • Activity tests (with Espresso)

Other useful features

All Breeds Breed Details
breed_list breed_list

Getting started

Script

  1. Clone this repository preferably with Android Studio
  2. Build project and then run application. In the situation where you are asked about trusting the application please do select yes
  3. Please make sure you are on the main branch as that has all the latest changes.
  4. To view composable UI impelementation with Jetpack compose you can checkout the compose branch.

NB: Please note that testing in the compose branch might be unstable

Notes

  • Dog-Friendly has offline support. Data is retrieved from remote when data is established and saved.

Future Improvements

  • Network notification when data is restored.
  • Make UI Improvements and possibly introducing compose
  • Introduce some nice error pages and not rely on toasts.

Issues faced

  • Had issues implementing instrumentation tests with Hilt but eventually resolved it.

Releases

No releases published

Packages

No packages published

Languages