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.

image image

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 image

Leaderboard:

  • Use data from backend in order to create leaderboard for recipes unlocked/points or other things image

    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]!” image

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