recipes icon indicating copy to clipboard operation
recipes copied to clipboard

Required Equipment list

Open Cellivar opened this issue 5 years ago • 14 comments

Several of the recipes I need call for specific types of equipment that I have, but keep stored away as they aren't often used. Things like special attachments for a stand mixer, a crock pot, or other specific items that I would like to know at-a-glance that I need to prepare for.

Other things are items that need to specifically be cleaned or otherwise prepared ahead of time before I start cooking. Sometimes it's annoying to discover partway that I need to emergency clean something to get it ready.

Having a specific section (similar to ingredients) where I can list off what equipment is necessary for a recipe would be handy, especially for special equipment that needs to be prepared ahead of time (or purchased!).

So far I've made use of a 'Prep' step that lists off any special tools necessary. This works for now. A special section (with a list of equipment present in my kitchen I can select from) would be nice indeed.

Cellivar avatar Jan 01 '21 22:01 Cellivar

nice and interesting idea. Could also include something i always wanted which is the weight of kitchen equipment in case you put something into a bowl and forgot to set the scale to zero before.

For now you will have to use the ingredients but this is something i will keep in mind for the future

vabene1111 avatar Jan 02 '21 10:01 vabene1111

+1 for this. Would definitely be a very useful feature.

brhahlen avatar Dec 20 '22 15:12 brhahlen

@vabene1111 do you have any further ideas, how this could be implemented?

Those are my initial thougts, what do you think?

I think, the equipment/tools can be handled similiary as the ingredients in the recipe view. In the way, that

  • you can add ingredients for each step
  • they get displayed combined at the top
  • you can use those in the step template

Some specific values for equipments/tools may be

  • Weight (as you mentioned already)
  • Size - e.g. the required spring form pan has a diameter of 28cm
  • verbs to link to tools - e.g. "grating cheese" linked to the grater (?)
    • may be used in automations, but I didn't really look into those yet

I'd really like to contribute, if I find my time to do so. I'm quite a bit experienced in Django, so that side should be no big problem, I guess. But on the Vue.js side, I may need to practice a bit, so it also looks good.

the-rene avatar Apr 08 '23 10:04 the-rene

Hi, thanks for your thoughts.

The vue side should be easy as you have plenty of examples to work from I think.

Regarding the concept

Tandoor has suffered a bit odäver time from over complexity so I would try to keep this somewhat simple.

Linking tools to steps sound good to me, what I don't think is required to be able to add any extra attributes besides possibly a quantity since values like weight or size should be something that is stored on the tool directly.

The verbs sound interesting but quite complex to communicate to the user as well so that might be a second step after the first implemtation has proven to be good.

Toughts?

vabene1111 avatar Apr 08 '23 11:04 vabene1111

Yeah, keeping it simple for the first implementation makes sense. Also helps keeping it robust..

since values like weight or size should be something that is stored on the tool directly

Agree, I thought about it while comparing it with ingredients. But I don't see the neccessity either.

Re-thinking it a little bit, while taking a look at the django models, the needed models could look somewhat like this:

class Equipment(ExportModelOperationsMixin('equipment'), models.Model, PermissionModelMixin):
    name = models.CharField(max_length=128, validators=[MinLengthValidator(1)])
    plural_name = models.CharField(max_length=128, null=True, blank=True, default=None)
    # not sure about those, copied from food
    space = models.ForeignKey(Space, on_delete=models.CASCADE)
    objects = ScopedManager(space='space', _manager_class=TreeManager)


class Utensil(ExportModelOperationsMixin('utensil'), models.Model, PermissionModelMixin):
    equipment = models.ForeignKey(Equipment, on_delete=models.CASCADE, null=True, blank=True)
    no_amount = models.BooleanField(default=False)
    amount = models.DecimalField(default=0, decimal_places=16, max_digits=32)
    order = models.IntegerField(default=0)



class Step(ExportModelOperationsMixin('step'), models.Model, PermissionModelMixin):
    name = models.CharField(max_length=128, default='', blank=True)
    instruction = models.TextField(blank=True)
    ingredients = models.ManyToManyField(Ingredient, blank=True)
    utensils = models.ManyToManyField(Utensil, blank=True)
    # [...]

So somewhat like food+inredients, but with less features.

Am I missing something relevant? Also do you have better suggestions for the Names (Utensil, Equipment, Tool, ..?)

the-rene avatar Apr 08 '23 11:04 the-rene

Hi, I agree with the model structure makes sense to me.

While I am not 100% happy with the naming I also have no better idea what to name it.

One could use Step Equipment in line with the supermarket category or book entry but I am not sure if that's better.

I think I would use utensil instead of equipment and the StepUtensil for the relation, if we come up with something better we can rename it in the future.

If you need any help getting started with vue let me know.

What I am also unsure about is where to place it in the recipe view because on top we already habe the ingredient and the nutrition's which will be expanded in one of the next updates, maybe one could just integrate it into the same list as the ingredients just with an icon or font distinguishing it.

vabene1111 avatar Apr 08 '23 14:04 vabene1111

Some alternative model names: Tools Equipment Kitchenware Durables Smallware

smilerz avatar Apr 09 '23 01:04 smilerz

If we take a quick look at major company websites to see the names available it might help.

Here's Target's names.

Screenshot_20230408_205351_Chrome

Ikea:

Screenshot_20230408_205621_Chrome

Bed Bath and Beyond

Screenshot_20230408_205749_Chrome

When I first raised this as a feature request the idea was not to list things like a spatula when mixing a cake or a skillet for a dinner meal. It was for a weird offset spatula when making a special dessert, or the correct size of stand mixer bowl to make sure is pulled out of storage before I realize I need it halfway through the recipe.

In general I think of these things as Cookware and Utensils. Both of these names are in the Target list. Ikea uses "Kitchenware" instead but feels vague out of context. BB&B doesn't have a specific section for handheld things, just cookware.

For the user facing side I would suggest "Cookware" or "Cookware amd Utensils". It's clearly separate from ingredients that way.

Cellivar avatar Apr 09 '23 04:04 Cellivar

Makes sense, also some of it will be lost in translation anyway

For the models I would like to stick with utensils and step utensils for now.

vabene1111 avatar Apr 09 '23 22:04 vabene1111

I was thinking about the same suggestion. Is this still being worked on?

Kamiikaze avatar Mar 21 '24 14:03 Kamiikaze

No, didn't get to finish my beginning :/ I want to look again into it to at least get my initial changes up to date with the current state, but I could not find the time and motivation to do so right now.

the-rene avatar Mar 21 '24 23:03 the-rene

I recommed not working on this right now, I am working on migrating the whole frontend which will mean many breaking changes, utensils should be added after that.

vabene1111 avatar Mar 22 '24 06:03 vabene1111