Skip to content

RachelRadford21/FMProductList

Repository files navigation

FMProductList

FMProductList is a SwiftUI application developed as part of a Frontend Mentor challenge, focusing on improving skills with SwiftData for managing dynamic product data. This project highlights modular view components, efficient state management, and responsive design for a clean and seamless user experience.

Challenge Overview

This project was created as part of the Frontend Mentor challenge to:

  • Develop a functional product list view with dynamic data.
  • Implement a cart system where users can add or remove items.
  • Ensure responsiveness and adaptability across different devices and screen sizes.
  • Strengthen skills in data handling using SwiftData and state management in SwiftUI.

Features

  • Product Display: Browse a list of dessert items, dynamically generated from a data model.
  • Add to Cart: Users can add products to the cart, increasing and decreasing item quantities with ease.
  • State Management: Reactivity is handled with SwiftUI’s @State and @Binding, ensuring smooth UI updates as users interact with the app.
  • Responsive Design: The UI adjusts to various device sizes, ensuring a consistent and intuitive experience across iPhones and iPads.
  • Reusable Components: Modular components like ProductItemView and AddToCartButtonView are designed for scalability and reuse throughout the app.

Technologies Used

  • SwiftUI: Built with SwiftUI for a declarative and reactive user interface, focusing on modularity and clean component design.
  • SwiftData: Leveraged SwiftData for efficient data management, querying, and handling dynamic product data.
  • Swift Testing: Implemented unit and integration tests using Swift Testing's modern APIs, including @Test and #expect, to ensure the app’s functionality and data flow remain robust. This allows for concise, asynchronous test cases and enhances overall code reliability.
  • Icon Set Creator: Used Icon Set Creator to generate the app icon for a polished, professional appearance.
  • npoint.io: Hosted product data on npoint.io, allowing the app to fetch product information dynamically via API calls instead of relying on local storage.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published