I collaborated in a group project to develop an iOS app called Tasty Recipe Creations that helps users discover and save recipes. I contributed to the planning, wireframing, and development of user stories and interfaces. We used Figma, Xcode, and Parse Server to create a prototype and implement features such as user login, recipe posting, recipe feed, recipe search, and favorite recipe list.
The Tasty Recipe Creations app helps users discover and save recipes. Users can post their recipes, view a feed of other users' recipes, search for recipes, and add recipes to their favorite list.
Required Must-have Stories
- User can login
- User can sign up
- User can post photos
- User can view a feed of recipes
- User can search for recipes
- User can favorite a recipe
- User can have a favorite list
- User can view others meals
Optional Nice-to-have Stories
- User can add someone
- User can add a comment to a photo
- User can like a photo
- User can talk with other users
- User can get help from others
Tab Navigation (Tab to Screen)
- Home Screen
- Post Recipe Screen
- Saved Recipes Screen
Flow Navigation (Screen to Screen)
- Login Screen
- => Sign Up Screen
- => Home Screen
- Sign Up Screen
- => Home Screen
- Home Screen (main page - allows us to select food category)
- => Home Feed Screen (displays recipes of the selected category)
- Post Recipe Screen
- => Post Success Screen
- Saved Recipes Screen
- => Recipe Details Screen
[Link to prototype: https://www.figma.com/proto/ynUmzvnTVpUYKy2m0ljzIf/MVP-Recipes-app?page-id=0%3A1&node-id=11%3A1036&viewport=278%2C281%2C0.19&scaling=scale-down&starting-point-node-id=1%3A2]
App Brainstorming
Property | Type | Description |
---|---|---|
objectId | String | unique id for the user posted recipe (default field) |
author | Pointer to User | author of recipe posted |
recipeName | String | display name of recipe |
description | String | subtitle or description of recipe |
category | String | type of recipe (breakfast, lunch, dinner or dessert) |
image | File | display image for the recipe |
directions | String | directions for the recipe |
preparationTime | Number | time in minutes that it will take to prepare the recipe |
cookingTime | Number | time in minutes that it will take to cook the recipe |
createdAt | DateTime | date when recipe is created (default field) |
updatedAt | DateTime | date when recipe is last update (default field) |
- Home Feed Screen
- (Read/GET) Query all Recipes where user is author
let query = PFQuery(className:"Recipe") query.whereKey("author", equalTo: currentUser) query.order(byDescending: "createdAt") query.findObjectsInBackground { (posts: [PFObject]?, error: Error?) in if let error = error { print(error.localizedDescription) } else if let recipes = recipes { print("Successfully retrieved \(recipes.count) recipes.") // TODO: Do something with recipes... } }
- (Read/Get) get all recipes of a specific category
let query = PFQuery(className:"Recipe") query.whereKey("category", equalTo: selectedRecipeCategory) query.order(byDescending: "createdAt") query.findObjectsInBackground { (posts: [PFObject]?, error: Error?) in if let error = error { print(error.localizedDescription) } else if let recipes = recipes { print("Successfully retrieved \(recipes.count) recipes.") } }
- (Read/GET) Query all Recipes where user is author
- Create Recipe Screen
- (Create/POST) Create a new recipe object
- Profile Screen
- (Read/GET) Query logged in user object
- Saved Recipes screen
- (Read/GET) Query user's favorited/saved recipes
- (Delete) Delete saved recipes from saved list
This is the first milestone that will lead to the completion of our recipe book. It will allow a user to login or create an account.
Time spent: 7 hours spent in total
The following are completed functionalities:
- User will be able to input login
- User will be able to input password
- Create launch screen
- Create login screen
Here's a walkthrough of implemented user stories:
This is our third milestone out of four. This milestone will allow the user to be able to post a recipe and add descriptions with other ideas too. The user will also be able to view other recipes.
Time spent: 6 hours spent in total
The following are completed functionalities:
-
User will be able to post a recipe with name; description; ingredients; directions; image; prep time; and cooking time
-
User can view all recipes
-
Create recipe screen
-
User is able to click the type of meal they want whether its breakfast, lunch, or dinner
-
User is able to create a post
-
User is able to see a list of recipes
Here's a walkthrough of implemented user stories:
This is a continuation of the third milestone out of four and further work will be done within the week on the favorite screen functionality. This milestone will allow the user to see the app icon on the home page and also added the button functionality of the favorite button.
Time spent: 6 hours spent in total
The following are completed functionalities: