Smart Meal Planner
Smart Meal Planner combines a Selenium-based scraper with a small Flask web app. The scraper crawls Gousto's recipe pages, parses each recipe's title, URL and ingredient list, and stores them in a local SQLite database, normalising ingredient names as it goes (for example, treating "garlic", "minced garlic" and "garlic clove" as the same ingredient) so near-duplicates don't build up. The web app lets you select the ingredients you already have, choose whether a recipe must use all of them or just any one, and see matching recipes with a link back to the original Gousto page.
Features
- Scrapes recipe data (title, URL, ingredients) from Gousto using Selenium
- Normalises ingredient names to avoid near-duplicate entries
- Search recipes by ingredients you already have, matching on all or any
- Links back to the original recipe on Gousto
Goals
- Web scraping and browser automation (Selenium)
- Data storage and querying (SQLite)
- Backend web app development (Flask)
- Automated testing (pytest)
- Continuous integration (GitHub Actions)
Built with
PythonFlaskSeleniumSQLitepytestGitHub Actions