Welcome to the Touchdown repository! This project focuses on creating an E-commerce app prototype using SwiftUI 2.0. The goal of this project is to provide a practical example of building a modern and interactive shopping app using SwiftUI.

Description of the image


Touchdown is an E-commerce app prototype that demonstrates the power and versatility of SwiftUI 2.0. By leveraging SwiftUI’s declarative syntax and advanced UI components, this app provides an immersive shopping experience for users. Whether you’re a beginner or an experienced SwiftUI developer, this project will enhance your skills and help you understand the nuances of building complex UIs.

Learning Objectives

Throughout the Touchdown project, you will achieve the following learning objectives:

  • Learn how to prototype an E-commerce app using SwiftUI 2.0.
  • Understand the concepts and usage of SwiftUI’s @Environment property wrapper.
  • Explore the functionality of the ObservableObject property wrapper for reactive UI development.
  • Discover techniques for sharing data models across different views within the app.
  • Create a custom navigation bar to improve the user experience.
  • Utilize the Shape protocol and Path to design custom shapes for unique UI elements.
  • Gain insights into organizing constants in a separate file for better code maintenance.
  • Master proportional resizing of items within a PageTabView.
  • Learn how to create horizontal grid layouts in SwiftUI.
  • Decode JSON files and fetch data seamlessly using SwiftUI.


To start using Touchdown, follow the steps below:

  1. Clone the repository to your local machine using the following command:
git clone
  1. Additional installation steps, if any, should be provided here.


To use Touchdown and explore its features, follow these instructions:

  1. Ensure you have Xcode installed on your machine.

  2. Open the Touchdown.xcodeproj file in Xcode.

  3. Build and run the project on the iOS simulator or a connected device.

  4. Explore the app’s various screens, interactions, and functionalities.

  5. Customize and experiment with the code to enhance your understanding and extend the app’s capabilities.


We welcome contributions from the community to make Touchdown even better. To contribute, please adhere to the following guidelines:

  1. Fork the repository and create a new branch for your feature or bug fix:
git checkout -b feature/your-feature
  1. Implement the desired changes and commit them with clear and concise messages:
git commit -m "Add feature/fix"
  1. Push your changes to your branch on your forked repository:
git push origin feature/your-feature
  1. Open a pull request on the main repository, providing a detailed explanation of your changes and their purpose.

  2. The core team will review your pull request, provide feedback, and merge it once approved.


Touchdown is distributed under the MIT License. You can find the license file here.


If you have any questions or need further assistance, please feel free to contact us at [insert contact email or other relevant communication channels]. We appreciate your interest in the Touchdown project!


View Github