This is a simple iOS app that allows users to search for cat images and save their favorites.
The app is built with a focus on clean UI and intuitive user experience.
- Search cat images using API
- Display loading state with ProgressView
- Show detailed information of each cat
- Add and remove favorites (CoreData)
- Favorites list view
- Swipe to delete favorites
- Empty state UI when no favorites are added
- SwiftUI
- CoreData
- MVVM Architecture
- AsyncImage
This app follows the MVVM architecture pattern:
- View: UI representation
- ViewModel: Business logic and state management
- Model: API response and CoreData entities
- Used
@FetchRequestto automatically update the favorites list - Managed
NSManagedObjectContextvia Environment
- Favorite button placed on top of the image for intuitive interaction
- Clear loading indication using ProgressView
- Empty state UI to guide user actions
- Separated search logic and favorite logic into different ViewModels
- Improved maintainability and readability
- Improve breed information display
- Add sorting functionality for favorites
- UI enhancements (e.g. Dark Mode support)
GitHub: https://github.com/taka-sakamoto



