Appetizer App

Project Overview

Language & Architecture: SwiftUI & MVVM

Appetizer App is a simple application created to demonstrate some key concepts pertaining to SwiftUI, MVVM, API calls, JSON parsing, and AppStorage. The app is designed with a TabView for the “Home” list of appetizers retrieved from an API, an “Account” view to demonstrate forms and saving User Defaults, and an “Order” tab to collect the added appetizers. This app includes:

  • JSON decoding and parsing to display a list of appetizers

  • Account information saving using @AppStorage / User Defaults

  • Interactive UI with Empty States and Alerts (profile saved, error loading user defaults)

  • UX logic to sum added items on Order tab

  • Light/Dark mode and Dynamic Type compatibility

What I Learned

One thing that I struggled with when learning Swift and SwiftUI was passing data, retrieving data from an API, and using/displaying data from the network call, and this app significantly helped with that. I gained valuable knowledge and experience in:

  • SwiftUI design concepts

  • TabView setup and passing data

  • API calls and JSON decoding/parsing

  • Designing for Light and Dark mode

  • MVVM Structure

  • Custom Shapes (map annotations)

  • Extension creation (Color, Date, String)

  • Using Regex for email validation

  • Updating for new iOS versions (iOS 14 > iOS 15 > iOS 16)

  • Alert Management and Implementation

  • Accessibility Integration (Dynamic Types)

  • Optimization and proper Refactoring

Planned Features

  • Create Account / Login Screen to pass data to Account view

Explore the project source code