Little Lemon is a SwiftUI-based iOS application inspired by the Meta iOS Developer Capstone.
It includes onboarding, user profile management, menu browsing with Core Data persistence, and dish detail navigation — all wrapped in a clean Mediterranean UI.
- Modern SwiftUI layout
- First name, last name, email
- Validation-ready
- Login persistence with UserDefaults
- NavigationStack ready
- TabView: Menu + Profile
- Loads remote JSON
- Saves dishes to Core Data
- Hero section design
- Search with filtering
- Async JSON load
- Navigation to dish detail
- Shows title, price, image
- Async image loading
- Clean UI
- User info display
- Notification toggles
- Log out
- Scrollable form layout
- SwiftUI
- Core Data
- Async/Await Networking
- UserDefaults
- Xcode 15+
LittleLemon/ ├── Little_LemonApp.swift ├── Persistence/ │ ├── PersistenceController.swift │ └── ExampleDatabase.xcdatamodeld ├── Models/ │ ├── MenuItem.swift │ └── MenuList.swift ├── Views/ │ ├── Onboarding.swift │ ├── Home.swift │ ├── Menu.swift │ ├── DishDetailView.swift │ └── UserProfile.swift ├── Components/ │ └── FetchedObjects.swift ├── Assets.xcassets └── README.md
- Clone the repository:
git clone https://github.com/YOUR-USERNAME/littlelemon.git cd littlelemon
-
Open in Xcode 15+
-
Run with CMD + R
-
Optional clear Core Data:
PersistenceController.shared.clear()
- Xcode 15+
- iOS 17+ recommended
- Alerts on onboarding
- Better Core Data schema
- Favorites
- Category filtering
- Image caching
- Dark mode
MIT License.
Azul Ramirez Kuri
Portfolio: https://www.azulrk.com
GitHub: https://github.com/AzulRK22
LinkedIn: https://linkedin.com/in/azul-grisel-ramirez-kuri



