A simple Cat Search app, performed the search by cat breed name, using MVVM clean Architecture.

The App is using the The Cat Api for searching cat by it’s breed name.
Get Your Api Key for running the CatSearchApp.

Build With 🏗️

  • Kotlin – Programming language for Android
  • Hilt-Dagger – Standard library to incorporate Dagger dependency injection into an Android application.
  • Retrofit – A type-safe HTTP client for Android and Java.
  • Room – SQLite object mapping library.
  • Coroutines – For asynchronous calls
  • LiveData – Data objects that notify views when the underlying database changes.
  • ViewModel – Stores UI-related data that isn’t destroyed on UI changes.
  • ViewBinding – Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
  • Glide – An image loading and caching library for Android focused on smooth scrolling
  • Mockito – For Unit testing
  • MockK– For Kotlin Unit testing
  • Espresso – For UI instrumentation testing

Project Architecture

This app uses MVVM (Model View View-Model) architecture.

alt text

App Screen shot

Breed List Fragment:
alt text