{"id":25010257,"url":"https://github.com/diegom1/thecatpokedex","last_synced_at":"2026-04-29T18:33:10.144Z","repository":{"id":275879203,"uuid":"927444796","full_name":"DiegoM1/TheCatPokedex","owner":"DiegoM1","description":"iOS App using CatApi service to search the cat you love, learn more about cats and save your favorites breeds to check later.","archived":false,"fork":false,"pushed_at":"2025-02-22T04:46:42.000Z","size":377,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T02:32:30.270Z","etag":null,"topics":["ios","ios18","swiftdata","swiftui","thecatapi","uitests","unittests"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/DiegoM1.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":"2025-02-05T00:53:39.000Z","updated_at":"2025-02-22T04:46:46.000Z","dependencies_parsed_at":"2025-03-30T02:30:29.753Z","dependency_job_id":"4556de05-08dd-4e4f-9ae2-cf2493f9ecbe","html_url":"https://github.com/DiegoM1/TheCatPokedex","commit_stats":null,"previous_names":["diegom1/thecatpokedex"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DiegoM1/TheCatPokedex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoM1%2FTheCatPokedex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoM1%2FTheCatPokedex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoM1%2FTheCatPokedex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoM1%2FTheCatPokedex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DiegoM1","download_url":"https://codeload.github.com/DiegoM1/TheCatPokedex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoM1%2FTheCatPokedex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32439179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T18:12:22.909Z","status":"ssl_error","status_checked_at":"2026-04-29T18:11:33.322Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ios","ios18","swiftdata","swiftui","thecatapi","uitests","unittests"],"created_at":"2025-02-05T04:53:00.985Z","updated_at":"2026-04-29T18:33:10.129Z","avatar_url":"https://github.com/DiegoM1.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## Badges\n[![GitHub](https://img.shields.io/badge/GitHub-gray.svg)](https://docs.github.com/en/rest?apiVersion=2022-11-28) [![iOS](https://img.shields.io/badge/iOS-white.svg)](https://developer.apple.com)   [![Swift](https://img.shields.io/badge/swift-orange.svg)](https://developer.apple.com/documentation/swift/) [![SwiftData](https://img.shields.io/badge/swiftData-blue.svg)](https://developer.apple.com/xcode/swiftdata/)\n[![UITest](https://img.shields.io/badge/UITest-yellow.svg)](https://developer.apple.com/documentation/xctest/user-interface-tests)\n[![UnitTest](https://img.shields.io/badge/UnitTests-red.svg)](https://developer.apple.com/documentation/xctest)\n\n\n# TheCatPokedex\n\niOS App using CatApi service to search the cat you love, learn more about cats and save your favorites breeds to check later.\n\n\n## Installation\nTo keep your API key secure and separate from your code, you can store it in an .xcconfig file.\nFirst create a *.xcconfig file where you are gonna put your api key.\n*Plain Text* (Dont rename `API_KEY` text cause we need to read from the info.plist)\n\n`API_KEY = API_KEY_RIGHT_HERE `\n\nJust plain text dont handle it like a string or something. After that double check on your project -\u003e info -\u003e configurations -\u003e debug / release , setup your *.xcconfig file there and thats it you are ready to roll. \n## Demo\n\n|HomeCatView Demo(Pagination)| DetailsCatVIew | Add favorite cat flow|\n|---------|---------|-----------|\n|![HomeCatView](https://github.com/user-attachments/assets/d310c115-3d68-419e-8e17-f917b2c35096)|  ![DetailsCatView](https://github.com/user-attachments/assets/f750c4a5-3b79-4e6c-bf88-37d2a64d26f5) | ![FavoriteCatFlow](https://github.com/user-attachments/assets/6d87fdcb-ba7b-4125-bee4-b6dc8ca48bf8) |\n\n\n\n## Features\n\n- Save and Remove Favorite cat using SwiftData\n- Check Cat details\n- Open webView to check more information about the cat\n- Searchable view to filter cats\n\n\n## Tech Stack\n\n**Client:** Swift, SwiftUI, SwiftData, iOS18\n\n**Server:** APIRestful\n\n\n## Lessons Learned\n\n- Improve UITests\n\n## Running Tests\n\nTo run tests, You can do it manually using Xcode or you can install fastlane using\n`brew install fastlane` \nand then run\n\n`fastlane ios unit_tests`\n\nor \n\n`fastlane ios ui_tests`\n\nin your terminal. You need to have an iphone 16 simulator or you can change the simulator name in fastfile. We are using iOS 18 to develop this app.\n\n## Documentation\n\n[API Documentation (TheCatApi)](https://thecatapi.com)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiegom1%2Fthecatpokedex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiegom1%2Fthecatpokedex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiegom1%2Fthecatpokedex/lists"}