/WTMB-JS-CC-19

Homework & lectures for Women Techmakers Berlin's Fall JS Crash Course

Primary LanguageJavaScript

🍜 🥦 🥘 🥪 🍝 🌶 🌮 🍡 🥐 🍧 🥙 🍤 🍲 🥗 🍳 🍎 🌯

🍘 The Eternal Menu 🍅 🥞 🍠 🍔 🍱 🍚 🧁 🥓 🍆

🥒 🥧 🍒 🍕 🍰 🍮 🥟 🥬 🍗 🍛 🌽 🍐 🍞 🥑 🥨 🥕 🥮

This will (hopefully) one day be a fully fleshed out recipe & menu creation App. There are two basic ideas behind it:

1. Improving cooking skills through iteration

There are enough recipe sites/apps out there already. While they let you create, share, and import recipes, a functionality I have sorely missed so far is the ability to create a version history for a specific recipe you've created/imported, to enable you test and tweak a recipe until you've perfected it. In essence, a git for recipes which helps you improve your cooking more efficiently.

The App will have no social aspect to it; I see it more as a highly personal collection of recipes you love, or are trying to perfect.

Cook like a programmer! 👩‍🍳

2. Easily generating/maintaining an 'Eternal Menu'

My grandma cooks fantastic meals for the whole family. One day I noticed though, that she only really knows about 20 recipes by heart, ones she doesn't need to look up in a book and that are popular with the family and her.

I am assuming that most people won't want to try out new recipes every week, but instead would want to build up a cook book filled with favourites they know they can cook well. The next step then is to help users create weekly/biweekly menus from their recipe collections.

Factors:

  • what season is it and what vegetables are available right now?
  • how much time do you have that week?
  • which days of the week are you able to/need to cook?
  • is there a food pattern (e.g. fish on Fridays) you'd like to see repeated in your menu?

Applying filters should make the creation of a menu much easier.


Other objectives

  • finally learn about the back-end of front-end programming
    • Promises and Async Programming
    • HTTP APIs
    • Adding a MongoDB Datastore
    • Testing
    • Deploying & Scaling Apps with Docker
  • improve my knowledge of React
    • Hooks / Effects
    • Reach Router
    • React Context
    • Error Boundaries
    • Portals
  • practice using git