An example of a SwiftUI app that presents a list of products, each of which can be tapped on to see some product details.
- Product details fetched from an API endpoint, with pagination for loading more results when the user has scrolled to the end of the current product list
- Custom JSON decoding and UI presentation logic to handle dirty product data such as:
- Empty product
titlestrings - Empty product
urlstrings - Empty product
merchantstrings - Empty product image
urlstrings - De-duplication of product images (i.e. That have identical
urlstrings which only differ by scheme prefix)
- Empty product
- A basic unit test covering decoding a mock of some valid JSON from the API into relevant model objects
- Uses my own library APIota for the API client functionality.