Dub Dub Grub

Project Overview

Language & Architecture: SwiftUI & MVVM

Dub Dub Grub is a course application developed by Sean Allen structured to learn advanced SwiftUI, MapKit, and CloudKit. The premise of the app is to find local restaurants int he surrounding area of WWDC and connect with other developers attending the conference. This app features CoreLocation, User Defaults, UIKit integration for non-SwiftUI supported elements, and automatic login with iCloud among other features. This app includes:

  • Automatic account set-up through iCloud

  • One-time onboard sheet (@AppStorage / User Defaults)

  • Map View showing locations of restaurants and user location

  • List view of all restaurants showing checked-in users

  • Optional profile creation for checking in/out of locations

  • Modal view for seeing user profiles

What I Learned

This was a an app that taught me a lot about the basic and advanced foundations of SwiftUI, MVVM, and integrating other Apple app features and components. I gained valuable knowledge and experience in:

  • SwiftUI design concepts; designing for Light and Dark mode

  • MVVM Structure

  • CloudKit Integration

  • MapKit and CoreLocation Integration

  • Custom Shapes (map annotations)

  • UIKit Integration (UIViewControllerRepresentable for PhotoPicker)

  • Extension creation (View, Color, UIImage)

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

  • Alert Management and Implementation

  • Accessibility Integration (VoiceOver, Haptics, & Dynamic Types)

  • Optimization and proper Refactoring

  • Uploading to TestFlight and beta testing

Planned Features

  • Chat function to interact with users within the app

  • Update photo picker to native SwiftUI PhotoPicker

Explore the project source code