Ideation
- Roles:
- Overall idea
- Login Page
- Frontend
- Backend
- Features:
- Work distribution:
- DevOps
- Milestone Goals
- Cookies
- Pastries
- Breads:
- Cups:
- Pies:
- Additions:
- Default Ingredients:
- Additional Ingredients
- Inbox/Trading:
Roles:
- Backend: Trevor, Hanlun, Aditya
- Frontend: Aditya, Lakshanya, Matthew
- DevOps: Matthew, Hanlun
Overall idea
- A combination-oriented game heavily inspired by Little Alchemy but WITH FOOD!
- This project is specializing in baking goods
- Maybe a shop where you get points for making food items, which you can use to buy new ingredients??
Login Page
- Using the POST Method to create a user
- Updating the Users with PUT whenever we need to save what recipes they have created
- Password hashing and storing in the backend for security purposes
Frontend
- Drag the elements into the slots in the oven
- Tools: Oven
Backend
- Store each user’s password and username
- Store each user’s # of recipes, and which ingredients they have on their
- Store friendliest
- Allow transfer of ingredients between users via messages
- Store the recipe tree/the combinations you need for each food item
Features:
Sandbox
Functionality Overview for Sandbox:
- Choose Recipe: The player selects a recipe they want to create.
- Gather Ingredients: The game prompts the player to collect the necessary ingredients for the chosen recipe.
- Display Ingredients: The collected ingredients are displayed for the player.
- Select Ingredient 1: The player chooses the first ingredient to start combining.
- Combine Ingredients: The selected ingredient is combined with others. If there are more ingredients, the flow returns to “Select Ingredient 1”; otherwise, it proceeds to the next step.
- Display Result: The result of combining ingredients is displayed.
- Save Recipe: The player has the option to save the completed recipe.
- End: The process concludes.
Baking
- Make a frontend block with slots to put ingredients + a bake button in order to “cook” the ingredients
- Have a dictionary on the backend with a list of ingredients as the key, and an object(pts, name, and image) as the value
- Whenever button clicked, get value from the dictionary that corresponds to the list of ingredients, then display the image, name, and add the points onto the user’s points
- Use pts for each user (stored in user db) to buy ingredients that we can use
Leaderboard:
- Use data from backend in order to create leaderboard for recipes unlocked/points or other things
Friendslist/Trading:
- Be able to trade with other users,
- Create text box, in which user inputs the user they want to share the recipe with, then have a share button
- Share button changes the recipe list for that user
- On each user’s frontend, constantly make requests to the server, and once the length of the list of recipes changes, display a popup, “you’ve been shared the recipe for [recipe]!”
Crowdsourcing:
- Give options to players to choose which new recipes will be added to the game
Work distribution:
Aditya: Sandbox
- List of ingredients from backend
- Frontend to display icons for ingredients/recipes
Trevor: Trading
- Send temporary link which updates the backend
- Database of users to select from so that they can send
- Reward collaboration between users
- Add to point system on the database
Matthew: Leaderboard
- Use userdb in order to grab all user’s data from backend
- Use javascript in frontend to sort and display info in table format
- Users can add a recipe to the database
- Moving background
Hanlun: Baking
- Make dictionary with key as list of ingredients, then value of the object(pts,name,image)
- Devops for baking backend, use dom in order to make little icons in order to display successful recipes
Lakshanya: Shop
- Use points from backend, subtract points from backend when buying things
- Make a frontend with icons for buying ingredients, with price/name
DevOps
- Login page to store user data and recipes
Milestone Goals
Week 1:
Create Sandbox
List of Ingredients:
Cookies
- flour, egg, sugar, butter: cookie
- cookie, cocoa: chocolate chip cookie
- cookie, frosting: sugar cookies
- cookie, cinnamon: snickerdoodle
Pastries
- butter, butter, flour, egg: croissant
- butter, egg, custard, flour: cream puff
- flour, glaze, egg, sugar: danish
- flour, egg, sugar, glaze: bundt cake
Breads:
- flour, flour, butter, yeast: bread
- banana, bread: banana bread
- cocoa, bread: chocolate bread
- cinnamon, bread, glaze: cinnamon roll
- Pecan, bread: nut bread
- One-pan desserts:
- cocoa, cocoa, flour, sugar: brownie
- cocoa, flour, sugar, sugar: chocolate cake
- cocoa, glaze, custard, flour: marble cake
- brownie, cookie: brookie
Cups:
- flour, butter, sugar: muffin
- muffin, frosting: cupcake
- banana, muffin: banana muffins
- lemon, muffin, glaze: lemon muffin
- banana, muffin, frosting: banana cupcake
- lemon, muffin, frosting: lemon cupcakes
Pies:
- butter, flour, egg, bread: pie
- apple, pie: apple pie
- pecan, pie: pecan pie
- custard, pie: custard pie
Additions:
- eggs, milk, butter: custard
- sugar, butter: frosting
- sugar, milk: glaze
Default Ingredients:
- Eggs
- Milk
- Butter
- Sugar
- Flour
Additional Ingredients
- Cocoa
- Lemon
- Banana
- Apple
- Pecan
- Cinnamon
- Yeast
Inbox/Trading:
- Select from the database of users