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