Wouldn't be great if we could go shopping for food just once a week and have the whole week's worth of meals planned ahead of time? This would save a great amount of time, money and stress.
This web application was designed with the goal of solving this simple but common problem and making cooking and shopping for food easy.
This app has three main sections:
- Recipes, where you can store your own recipes or import new ones from the web
- Planner, a useful tool that allows you to upload the recipes you would like to cook during the week for each day and each meal.
- Grocery, where you can view the shopping list automatically generated, with the ingredients necessary for the weekly meals which were uploaded in the planner. You can also keep track of the grocery expenses and analyze your shopping habits.
- Python
- SQLite relational database
- SQLAlchemy Object Relational Mapper
- Flask web framework
- Jinja2 templating
- Beautiful soup library
- Javascript/jQuery
- AJAX/JSON
- Chart.js
- D3
- CSS + Bootstrap
- Twilio API
- Unittest for testing
(dependencies are listed in requirements.txt)
###Recipes
Write down your family recipes or import new ones from the web by using beautiful soup (a Python web scraping library).
![alt text] (https://github.com/Francydijesi/hackbright_project/blob/master/static/img/Readme/Recipe_Form.png "Recipe form")
Use the filters or the search function to quickly find your recipe. Click on the picture or the view button to go to the recipe page for more details.
Follow all the instructions to cook the meal now or save it for a future meal and upload it to the planner.
Planner is a seven day calendar where you can view the recipes already uploaded in the recipe page, or you can add new ones. Once you are done planning for the week, you can generate your shopping list with all the ingredients necessary for your recipes.
This list was generated with the ingredients of all the recipes in the planner. It can be printed or sent as an SMS, using the Twilio API.
If you are interested in keeping track of your grocery budget, here is a tool for recording your expenses and visualizing them.
View the expenses by week or grouped by store, for this month or the past two or three months.
This bubble chart shows all of the ingredients saved in all the shopping lists, color coded by category. The bigger the bubble, the higher its frequency.
![alt text] (https://github.com/Francydijesi/hackbright_project/blob/master/static/img/Readme/Ingredient%20Analysis.png "Ingredient Analysis")
-
Set up and activate a python virtualenv, and install all dependencies:
pip install -r requirements.txt
-
Create the tables in your database:
python -i model.py
- While in interactive mode, create tables:
db.create_all()
-
Now, quit interactive mode. Start up the flask server:
python server.py
-
Go to localhost:5000 to see the web app
Francesca Paoletti graduated from an italian university in Math with a final thesis in "Data Envelopment Analysis", in the operational research field. She took a course in "Credit Risk Analysis" at IMI Bank in Italy and in "Business Administration" at UC Berkeley. She worked for a number of years as a high school math teacher and a java back end developer. She is very passionate about data science. For more details see her [linkedin] (https://www.linkedin.com/in/francescapaoletti) profile.