Bare shelf recipes
A recipe search for making food with what you've got.
Find recipes to make with what you've got in your cupboard.
Components
Admin
This is the admin backend for the site. It is made up of a Flask-Admin site using Flask-SQLAchemy for the models and a Scrapy scraper. It is responsible for scraping recipes and ingredients into the database and then indexing them into the search.
Search
Search uses Tantivy. An indexing interface is exposed to the Admin with PyO3. The search index is the artefact that is deployed along with the Web app.
It is split across two rust crates; indexer
is a PyO3 libary used by Admin to index all the recipes and ingredients,
search
is a crate for querying the index used by Web.
Web
This is the web front end that performs searches against the search index.