{"id":23266938,"url":"https://github.com/ps-sujith/catapidemo","last_synced_at":"2025-10-26T11:38:31.898Z","repository":{"id":262622861,"uuid":"870619137","full_name":"ps-sujith/CatApiDemo","owner":"ps-sujith","description":"A sample app to showcase the CAT API, built in Kotlin using Jetpack Compose and architecture components, following Clean Code principles and modularization","archived":false,"fork":false,"pushed_at":"2024-11-15T13:49:37.000Z","size":870,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T08:18:36.717Z","etag":null,"topics":["clean-architecture","coil","compose","koin","modularization","mvvm","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ps-sujith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-10T11:19:22.000Z","updated_at":"2025-01-12T04:31:24.000Z","dependencies_parsed_at":"2024-11-13T12:31:10.801Z","dependency_job_id":"e8ec4967-8fa4-415a-9ae2-79090b8e21f3","html_url":"https://github.com/ps-sujith/CatApiDemo","commit_stats":null,"previous_names":["ps-sujith/catapidemo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ps-sujith/CatApiDemo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps-sujith%2FCatApiDemo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps-sujith%2FCatApiDemo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps-sujith%2FCatApiDemo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps-sujith%2FCatApiDemo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ps-sujith","download_url":"https://codeload.github.com/ps-sujith/CatApiDemo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps-sujith%2FCatApiDemo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281098588,"owners_count":26443531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clean-architecture","coil","compose","koin","modularization","mvvm","unit-testing"],"created_at":"2024-12-19T16:35:36.500Z","updated_at":"2025-10-26T11:38:31.876Z","avatar_url":"https://github.com/ps-sujith.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CAT API DEMO\n\n\n\"A sample app to showcase the CAT API, built in Kotlin using Jetpack Compose and architecture components, following Clean Code principles and modularization.\"\n\n\n![download (2)](https://github.com/user-attachments/assets/5a91a029-e5da-47d5-9da5-ae95b4313fa9)\n\n![download (1) (1)](https://github.com/user-attachments/assets/90d52518-0035-4188-8324-2c7717ee4fb9)\n\n\n## PROJECT SPECIFICATION\n\n### TECH STACK\n* Kotlin\n* Jetpack Compose for the UI\n* Hilt for DI\n* Coroutines and Flow - for making asynchronous calls\n* Retrofit - for networking\n* Room -for local caching\n* mockk - for unit testing\n* Coil - Image Loader library.\n\n### API\n* [https://hp-api.onrender.com/](https://thecatapi.com/)\n  \n### FEATURES\n* Cat Breed List- Lists all the cats breeds with image and breed name and option to add favourite\n* Favourite List - Lists all the cats breeds added to favourite by the user\n* Cat Breed  Details - Displays the details of a selected cat including its breed name,country of orgin , life span etc\n* Add/Remove Favourite  - Breeds can be added/removed to favourites from Breed List or Breed details \n  \n  \n### ARCHITECTURE \u0026 DESIGN PATTERN\n* SOLID PRINCIPLE - The app follows SOLID design principles to ensure scalability and maintainability.\n* CLEAN CODE ARCHITECTURE -The app's architecture is designed to be clean, separating concerns into distinct layers (e.g., UI, Domain, Data).\n* MODULAR - The app codebase is modularized by layers (UI, Data, Domain), with the Domain module being independent of the other modules.\n* DESIGN PATTERN - Application is developed using Test-Driven Development (TDD) and follows the Model-View-ViewModel (MVVM) design pattern\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fps-sujith%2Fcatapidemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fps-sujith%2Fcatapidemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fps-sujith%2Fcatapidemo/lists"}