A few weeks back I found out that my wife was keeping a long list of links to websites of things she had prepared as meals and wanted to go back to and use. She was keeping this list on Google Keep and I just couldn't help but think "There has to be a better way"
After a little web searching, I found a few contenders and this one suited our needs.
What is it?
At its core Mealie is a database of recipes collected from locations on the web or manually entered which can be categorized, tagged and used to plan weekly meals.
Its been designed really well from the ground up for simplicity and ease of use to which the developer should get a huge amount of kudos as a lot of thought has been put into the ease of getting data into the platform and then using it.
Clicking on a recipe brings up everything needed to create the dish including Ingredients, Directions, preparation times, links out to the original recipes, categories and tags.
Adding a Recipe
If something has a killer feature this was Mealies first one, clicking on the blue + icon in the bottom right of the main or recipe screens will bring up the ability to add either manually or via URL a recipe to the systems
Clicking on the Orange button brings up the interface for adding a URL
So I've found a nice falafel wrap recipe on BBC Good Food
If I copy the URL from the BBC page and paste it into the Mealie From URL box
Click on Submit
Mealie scrapes the webpage and updates itself with the appropriate information.
And if I head back to the original BBC page to check the ingredients and instructions
This is indeed what Mealie has scraped and added.
If for any reason the scraping doesn't look right or something is missing that's covered by editing the data
Clicking on the edit button to the left of the picture opens up the recipe in an editor screen. The Total Time, Prep Time, Cook Time from many pages get missed from most of the sites I imported from.
The updates of the Ingredients or Instructions are another example of easy editing
Clicking on the + symbol you can add one at a time
However, this might be tedious so you can add items in bulk
Click where it says "BULK ADD" under either Ingredients or Instructions
Entering line by line (a carriage return splits the lines, so you can type over a line long) then clicking on Save
Adds each line as a new step or ingredient item..
Clicking on Save will save the results...
This is really well-thought interface and ingress design...
Having all this data in Mealie is great anyway to visually represent these recipes and categorize them makes for a much cleaner way of knowing what might be cooked if only because we eat with our eyes..
However, Mealie has another trick up its sleeve
Click on the Planner in the top right of the site and click on Planner
Create a start and end date for your planned meal period (a week maybe?)
Each day will be represented by a square. you can either click on each date and select a specific meal
or just click on Random to fill out all the dates.
Save your selection
Following this method, it's possible to create multiple meal plans.
So you have a service with potentially hundreds of recipes in it the next obvious step is to use that data to setup a shopping list
At the foot of each meal plan is just such a shopping list button
By default, this will group the shopping list items per meal item and clicking on the Group Beta button
Provides one long shipping list
Backup, Api's and Tigers Oh My!!!
The software has been well thought out to the point it has an API
Mealie also provides a secure API for interactions from 3rd party applications. Why does my recipe manager need an API? An API allows integration into applications like Home Assistant that can act as notification engines to provide custom notifications based of Meal Plan data to remind you to defrost the chicken, marinade the steak, or start the CrockPot. See the section on Meal Plan hooks for more information. Additionally, you can access any available API from the backend server. To explore the API spin up your server and navigate to http://yourserver.com/docs for interactive API documentation.
The backup functionality out of the box is manual
There is a lot going on here with reference to ingress and egress..
I've plumped for the docker install located here
Which is a simple
docker run \ -e DB_TYPE='sqlite' \ -p 9925:80 \ -v `pwd`:'/app/data/' \ hkotel/mealie:latest
Where ports and volumes can be changed as needed
I'm about to go through the update process however for what I have so far I do like this software, JSON back end driven, nice parsing, well thought out
If there was a single thing I was going to add it might be the ability to link to or embed a youtube video into the instructions page.