https://github.com/diegom1/thecatpokedex
iOS App using CatApi service to search the cat you love, learn more about cats and save your favorites breeds to check later.
https://github.com/diegom1/thecatpokedex
ios ios18 swiftdata swiftui thecatapi uitests unittests
Last synced: about 1 month ago
JSON representation
iOS App using CatApi service to search the cat you love, learn more about cats and save your favorites breeds to check later.
- Host: GitHub
- URL: https://github.com/diegom1/thecatpokedex
- Owner: DiegoM1
- Created: 2025-02-05T00:53:39.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-02-22T04:46:42.000Z (2 months ago)
- Last Synced: 2025-02-22T05:25:15.231Z (2 months ago)
- Topics: ios, ios18, swiftdata, swiftui, thecatapi, uitests, unittests
- Language: Swift
- Homepage:
- Size: 366 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Badges
[](https://docs.github.com/en/rest?apiVersion=2022-11-28) [](https://developer.apple.com) [](https://developer.apple.com/documentation/swift/) [](https://developer.apple.com/xcode/swiftdata/)
[](https://developer.apple.com/documentation/xctest/user-interface-tests)
[](https://developer.apple.com/documentation/xctest)# TheCatPokedex
iOS App using CatApi service to search the cat you love, learn more about cats and save your favorites breeds to check later.
## Installation
To keep your API key secure and separate from your code, you can store it in an .xcconfig file.
First create a *.xcconfig file where you are gonna put your api key.
*Plain Text* (Dont rename `API_KEY` text cause we need to read from the info.plist)`API_KEY = API_KEY_RIGHT_HERE `
Just plain text dont handle it like a string or something. After that double check on your project -> info -> configurations -> debug / release , setup your *.xcconfig file there and thats it you are ready to roll.
## Demo|HomeCatView Demo(Pagination)| DetailsCatVIew | Add favorite cat flow|
|---------|---------|-----------|
||  |  |## Features
- Save and Remove Favorite cat using SwiftData
- Check Cat details
- Open webView to check more information about the cat
- Searchable view to filter cats## Tech Stack
**Client:** Swift, SwiftUI, SwiftData, iOS18
**Server:** APIRestful
## Lessons Learned
- Improve UITests
## Running Tests
To run tests, You can do it manually using Xcode or you can install fastlane using
`brew install fastlane`
and then run`fastlane ios unit_tests`
or
`fastlane ios ui_tests`
in 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.
## Documentation
[API Documentation (TheCatApi)](https://thecatapi.com)