What is MyChef?

An application developed to help you decide what to cook based on what you have in the kitchen. It is able to do this by scraping recipes from the best plant-based recipe sites on the web and bringing them together in one place. The search engine built into the application ranks the recipes based on the ingredients that you enter.

Architecture

From a bird’s eye view, the basic application architecture looks like:

Tools

General:

  • Docker: for containerization of microservices
  • PostgreSQL: relational database for storing recipe information
  • Scrapy: a python library for scraping recipes from websites

API:

  • FastAPI: a python async api framework that is fast and super easy to use
  • Spacy: a python library for nlp that comes with a bunch of great pre-trained language models
  • MeiliSearch batteries included search engine developed in Rust

UI:

  • Nuxt: a js framework built on Vue for creating reactive sites with server side rendering
  • Vuetify: bootstrap like js framework for creating pretty components

Find out more

The website is not yet deployed, but visit https://github.com/logan-connolly/mychef to see the current status of the project.