logan-connolly / mychef

⚠️ Development moved to Sourcehut

Home Page:https://sr.ht/~loges/mychef/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🌱 MyChef

tests

📦 Overview

MyChef is an application that helps you decide what meal to make based on what you have at home. Simply enter in ingredients you have at home and get back tasty plant-based recipes from top recipe websites.

⌨️ Commands

FYI: an installation of docker and docker-compose is required to run the application.

# Download trained ingredient extraction model
make download

# Build frontend assets
make assets

# Pull or build locally application
make pull|build

# Start application containers
make run

# Scrape recipes
make scrape

When you refresh the UI, you should start seeing recipes populating the DB and the ingredients search bar should be showing which ingredients the application has extracted thus far. To stop the scraper just CTR-C in the terminal with the running service.

🧭 Project Structure

Api

  • Developed with FastAPI - fast (async support), simple and very intuitive.

Frontend

  • Developed with Nuxt.js an intuitive framework built on top of Vue that supports server side rendering.
  • Also uses Vuetify for component styling

Scraper

  • Developed using Scrapy a framework for extracting data from websites.
  • For each source, a spider needs to be defined that extracts the data and makes post request to api with recipe

Search

  • Leverages MeiliSearch to filter recipes based on ingredient input

About

⚠️ Development moved to Sourcehut

https://sr.ht/~loges/mychef/

License:MIT License


Languages

Language:Python 68.1%Language:Vue 12.8%Language:JavaScript 7.7%Language:Makefile 5.2%Language:Dockerfile 2.6%Language:Shell 2.4%Language:Mako 0.9%Language:CSS 0.2%Language:HTML 0.2%