---
### Technologies Stack:
* SDK version - Swift 5
* Minimum iOS target - iOS 15
* Only iPhone
* Only Portrait mode
* UserDefaults
* Framework Kingfisher
* RESTful API
* MVC
---
# Description of functionality:
Onboarding Screens
- **Welcome Screen:** Introduction to the app with a brief description of its features.
- **Feature Highlights:** Screens showcasing the main functionalities such as recipe search, adding to favorites, and creating your own recipes.
- **Get Started or Skip:** Option for the user to start using the app immediately or skip the onboarding process.
Main Screen
- **Get amazing recipes for cooking:** Discover a variety of recipes from different cuisines.
- **Search-Bar:** Implemented for searching recipes by keyword.
- **Trending now:** Displays currently popular recipes.
- **Popular category:** Categorizes recipes by type (e.g., Breakfast, Salad, etc.).
- **Recent recipes:** Shows the latest added recipes.
Saved Recipes Screen
- **Displays recipes saved by the user:** Easily access your favorite recipes.
- **Recipe details:** Each saved recipe shows the title, image, rating, and preparation time.
- **Manage favorites:** Users can easily access and manage their favorite recipes.
Tab Bar
- **Home:** Navigates to the main screen with trending and popular recipes.
- **Favorites:** Shows saved recipes that the user has marked as favorites.
- **Add:** Opens the screen for creating a new recipe.
- **Profile:** Takes the user to their personal account with their data and created recipes.
Create Your Own Recipe Screen
- **Recipe Name Input:** Field for entering the name of the recipe.
- **Ingredients List:** Fields for entering ingredient names and quantities.
- **Cooking Time:** Field for entering the cooking time.
- **Photo Upload:** Option to upload a photo of the dish.
- **Save Recipe Button:** Button to save the created recipe.
Recipe Detail Screen
- **Recipe Title:** Displays the name of the recipe.
- **Recipe Image:** Showcases an image of the prepared dish.
- **Rating:** Displays the average rating and number of reviews for the recipe.
- **Instructions Section:** Provides step-by-step cooking instructions. Includes detailed steps to guide the user through the preparation process.
- **Ingredients List:** Lists all necessary ingredients with their respective quantities. Displays icons and names for each ingredient.