Recipe Tracker - Using controls to create recommendations

After a great idea from @chris_homburger, I put together a sample doc and did a quick video overview. Enjoy and please share your ideas for improvement!

:bread::cheese::cut_of_meat::shallow_pan_of_food::cookie::birthday::cake:

7 Likes

@maria you have the perfect voice for this. Is this a skillset you have learned or just have?

Thanks @cnr! Before I got into the tech world, I actually trained as an actor. You can still find me on stage or narrating books. I really enjoy bringing tech and arts together!

6 Likes

Hey! I’d love your help in making something similar. I’d love to go the next level and make a meal planner. The backend tables would be a recipe + ingredient database mapped whether they are appropriate breakfasts / snacks / dinners. What I’m caught up on is figuring out how to support a frontend where we could select ingredient or a recipe, then we’d get a list of recipes that share ingredients, which we could select to fill out a week, outputting a shopping list and recipes. Sounds crazy???

1 Like

Sounds crazy awesome! Here’s the link to the template that this post was talking about.

I would also recommend checking out this article since it gets into Layouts and Subtables.

A few other ideas:

  1. Have one table with a list of all ingredients and their type (for easy finding in the grocery store)
  2. Have a table with recipes, what meal they are for (select list), and what ingredients they use (lookup from the ingredients list)
  3. You could then have a few controls that select different recipes/meals, etc to find your options

Keep us posted!

1 Like

Hi Maria, did anybody ever implement this? I went ahead and published my work in progress:

My end goal is to create a web-based version of the Daily Dozen app from NutritionFacts.org.

Right now, I’m stuck how to create Ingredient List subtables inside the Recipes table. There are five tables of interest: Recipes, Ingredients, Foods, DailyDozen, Measures

o-< = one-to-many
o-o = one-to-one
→ = scalar
=> = formula

Recipes o-<
   Recipe
      Ingredients o-<
         Ingredient.Food  o-o Foods.Name           #
         Ingredient.Recipe o-o thisRow.Recipe     # Food + Recipe acts like a compound key
         Ingredient.Amount -> number                   # Scalar recipe amount in measure
         Ingredient.Measure o-o Measures.Name # Measure names - will eventually be used for conversion
         Ingredient.Food.DailyDozen.Name           # Get the nutrition category of the food (e.g, Greens, Beans, Whole Grains...) 
    DailyDozen => F(Ingredients)                        # Compute the list of daily dozen servings for this recipe (e.g, "Porridge with Berries and Almond Milk" would return [{name: "Whole Grains", servings: 2, outOf: 3}, {name: "Berries", servings: 2, outOf: 1}, {name: "Flax Seeds", servings: 1, outOf: 1])

Notice how it goes Recipes o-< Ingredients o-o Foods o-o DailyDozen.

The part I’m having trouble with is how to associated the Ingredients in the list back to the Recipe in which it occurs when creating a new ingredient within a recipe.

Hi @George_Everitt - your doc looks great!

We do have a few folks on the gallery who’ve published some docs you might find inspiring. Here are some of my favorites:

For your question, you should be able to adjust your lookup column settings to allow for multiple selections. Image below:

Let me know if I’m not understanding your questions. Thanks!

Thanks for the reply, Maria.

Love your video tutorials, BTW!

I think I’m getting closer - but still haven’t quite cracked the code.

In a relational database, I’d have a mapping table with a compound key that is recipe + food:

Recipe+Food
PB and J+Peanut Butter
PB and J+Jelly
PB and J+Whole Grain Bread
French Toast+Whole Grain Bread
French Toast+Ground Flax
French Toast+Turmeric
French Toast+Almond Milk
French Toast+Date Sugar
Porridge+Rolled Oats
Porridge+Ground Flax
Porridge+Almond Milk

Of course in a real RDBMS, those would be separate fields with meaningless keys.

Would the best way to do it be to have an “Add Ingredient” button column in the Recipe table that inserts a new row initialized with the current recipe into the Ingredients table?

Hi @George_Everitt. The best way would be to use the “Set Values” option when you configure a button. Here’s a screenshot:

You can use formulas to populate that so you could do =Recipe.thisRow

Let me know if that helps!