iOS app developed for study purposes, consuming FakeStoreAPI, focused on learning HTTP methods and concurrency using Swift async/await.
This project explores a clean project structure, MVVM architecture, network abstraction, state handling, and unit testing.
| Feed | Details | Cart |
|---|---|---|
![]() |
![]() |
- View Code (UIKit)
- MVVM Architecture
- Swift async/await
- URLSession networking
- Unit Tests with Mocks
- Custom UI components
- Image caching with SDWebImage
- iOS 15.0 or later
- Xcode 15.0 or later
- Swift 5.0 or later
- Products Feed: Displays a list of products fetched from FakeStoreAPI.
- Product Details: Shows detailed information about a selected product.
- Shopping Cart: Allows users to add and manage products in the cart.
- Cart Management: Handles product quantities and cart state.
- Async/Await Networking: Uses Swift concurrency for API requests.
- MVVM Pattern: Separates UI, business logic, and data layers.
- Unit Tests: ViewModel tests using mocked services.
- Image Caching: Asynchronous image loading and caching using SDWebImage.
First of all download and install Xcode, Swift Package Manager and then clone the repository:
$ git@github.com:diggosilva/FakeStoreAPI.git
$ cd <diretorio-base>/FakeStoreAPI/
$ open FakeStoreAPI.xcodeproj/
Developed for learning and experimentation with modern iOS development practices.

