https://github.com/shrtlist/fetchmeals
SwiftUI app that allows users to browse recipes using the following API: https://themealdb.com/api.php
https://github.com/shrtlist/fetchmeals
async-await asyncimage dependency-injection mvvm navigationstack structured-concurrency swiftui
Last synced: 3 months ago
JSON representation
SwiftUI app that allows users to browse recipes using the following API: https://themealdb.com/api.php
- Host: GitHub
- URL: https://github.com/shrtlist/fetchmeals
- Owner: shrtlist
- Created: 2024-08-12T23:51:25.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-01-28T05:26:14.000Z (3 months ago)
- Last Synced: 2025-01-28T06:24:54.922Z (3 months ago)
- Topics: async-await, asyncimage, dependency-injection, mvvm, navigationstack, structured-concurrency, swiftui
- Language: Swift
- Homepage:
- Size: 35.2 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Fetch - iOS Coding Challenge
Please write a native iOS app that allows users to browse recipes using the following API:
https://themealdb.com/api.phpThere are 2 endpoints that your app should utilize:
- https://themealdb.com/api/json/v1/1/filter.php?c=Dessert for fetching the list of meals in the Dessert category.
- https://themealdb.com/api/json/v1/1/lookup.php?i=MEAL_ID for fetching the meal details by its ID.The user should be shown the list of meals in the Dessert category, sorted alphabetically.
When the user selects a meal, they should be taken to a detail view that includes:
- Meal name
- Instructions
- Ingredients/measurementsPlease read the following guidelines carefully before starting the coding challenge:
- Asynchronous code must be written using Swift Concurrency (async/await).
- Be sure to filter out any null or empty values from the API before displaying them.
- UI/UX design is not what you’re being evaluated on, but the app should be user friendly and should take basic app design principles into
account.
- Your project should compile using the latest version of Xcode.