Skip to content

A sample app to showcase the CAT API, built in Kotlin using Jetpack Compose and architecture components, following Clean Code principles and modularization

Notifications You must be signed in to change notification settings

ps-sujith/CatApiDemo

Repository files navigation

CAT API DEMO

"A sample app to showcase the CAT API, built in Kotlin using Jetpack Compose and architecture components, following Clean Code principles and modularization."

download (2)

download (1) (1)

PROJECT SPECIFICATION

TECH STACK

  • Kotlin
  • Jetpack Compose for the UI
  • Hilt for DI
  • Coroutines and Flow - for making asynchronous calls
  • Retrofit - for networking
  • Room -for local caching
  • mockk - for unit testing
  • Coil - Image Loader library.

API

FEATURES

  • Cat Breed List- Lists all the cats breeds with image and breed name and option to add favourite
  • Favourite List - Lists all the cats breeds added to favourite by the user
  • Cat Breed Details - Displays the details of a selected cat including its breed name,country of orgin , life span etc
  • Add/Remove Favourite - Breeds can be added/removed to favourites from Breed List or Breed details

ARCHITECTURE & DESIGN PATTERN

  • SOLID PRINCIPLE - The app follows SOLID design principles to ensure scalability and maintainability.
  • CLEAN CODE ARCHITECTURE -The app's architecture is designed to be clean, separating concerns into distinct layers (e.g., UI, Domain, Data).
  • MODULAR - The app codebase is modularized by layers (UI, Data, Domain), with the Domain module being independent of the other modules.
  • DESIGN PATTERN - Application is developed using Test-Driven Development (TDD) and follows the Model-View-ViewModel (MVVM) design pattern

About

A sample app to showcase the CAT API, built in Kotlin using Jetpack Compose and architecture components, following Clean Code principles and modularization

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages