Skip to content

iOS app developed for study purposes, consuming FakeStoreAPI, focused on learning HTTP methods and concurrency with Swift async/await.

Notifications You must be signed in to change notification settings

diggosilva/FakeStoreAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FakeStoreAPI

iOS LinkedIn: @RodrigoSilva

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
Feed Details Cart

Contents

Features

  • View Code (UIKit)
  • MVVM Architecture
  • Swift async/await
  • URLSession networking
  • Unit Tests with Mocks
  • Custom UI components
  • Image caching with SDWebImage

Requirements

  • iOS 15.0 or later
  • Xcode 15.0 or later
  • Swift 5.0 or later

Functionalities

  • 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.

Setup

First of all download and install Xcode, Swift Package Manager and then clone the repository:

$ git@github.com:diggosilva/FakeStoreAPI.git

After cloning, do the following:

$ cd <diretorio-base>/FakeStoreAPI/
$ open FakeStoreAPI.xcodeproj/

Author

Developed for learning and experimentation with modern iOS development practices.

About

iOS app developed for study purposes, consuming FakeStoreAPI, focused on learning HTTP methods and concurrency with Swift async/await.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages