This proof of concept eCommerce app was designed to cement the general concepts of the internal data storage, delivered in an interface which is directly applicable to today's digital climate. As a Product Manager with experience working on eCommerce mobile apps and platforms, I was especially interested in this project as it gave me the uinque opportunity to see behind the proverbial veil, and provide some insight into the work done by my team's developers.
The Touchdown app is designed to consume data from the provided JSON data models, and display product information from the catalog. Additionally, it builds together SwiftUI concepts from the preceding projects to create a simulated sporting equipment storefront.
Being a proof of concept, this application mirrors the look and feel of a basic eCommerce app, without the external or back-end integrations such as that of a payment processor, a content management system (CMS), customer relationship managment (CRM) APIs, or an inventory management platform.
Instead of the previously employed struct
data sets, Touchdown utilizes a custom JSON decoder, which analyzes JSON data files and creates consumable data sets. Using this new JSON decoder to house the relevant product, brand, and category information, the data is parsed and cross-referenced to populate each product page, built using the same component-style designs as in the previous projects. However, Touchdown introduced a custom shape component designed to respond reactively to the varying screen sizes found in different iOS devices.
They variety of techniques and applications of the various SwiftUI concepts utilized through the development of this project, cemented the SwiftUI skills developed up to this point. The frameworks of SwiftUI are relatively easy to grasp but difficult to master, weaving multiple techniques and concepts together in a functional design through this project enabled me to build a deeper understanding of how these puzzle pieces fit together, and allows me to move forward with future UI design efforts with greater confidence.
This project was an excellent foray into building responsive, functional UIs, but ultimately falls short of a 'complete' app experience due to the absence of integrated systems and a limited set of products. Future iterations of this project could be enhanced by including Cloud Kit data storage for inventory management, or introducing third party API support for payments, CRM, or CMS platforms.