GithubHelp home page GithubHelp logo

flecmart / mealplan Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 1.2 MB

Custom mealplanning and recipe management

License: MIT License

Dockerfile 0.06% Python 3.93% CSS 6.44% JavaScript 85.08% HTML 4.43% Makefile 0.06%

mealplan's Introduction

mealplan

Custom Mealplanning and recipe management.

Abstract

In our household we need an overview of our recipes and a calendar that we can plan our meals within the next week(s).

Install

Dependencies:

  1. Clone the repository:
git clone https://github.com/flecmart/mealplan.git
  1. Create your environment.conf from environment.conf.example

  2. Build and run with docker compose:

cd mealplan
docker-compose up -d

The app is now reachable at localhost:5000

Features

Manage recipes in a cookbook

example image cookbook

Show recipes with ingredients and instructions

example image recipe view

Assign recipes in a calendar to plan meals

Weekly View:

example image planning week

Monthly View:

example image planning month

  • calendar UI is pretty basic to potentially run the mealplan on an e-ink display (I plan to implement this in the future)
  • use of symbols to represent meals in the calendar to make the plan readable for the smallest family members
  • meals can be rescheduled with drag & drop

Generate shopping list based on ingredients & export to todoist

example image shopping list

  • time range for shopping list selectable in UI
  • mealplan tries to aggregate ingredients with natural language processing
  • shopping list or certain ingredients can then be exported to todoist and are therefore synced on your mobile device for the actual shopping

Recreate DB

Just remove the volume with the following command:

docker volume rm mealplan_db_volume

Then restart the app.

Backup and restore DB

Backup: https://github.com/prodrigestivill/docker-postgres-backup-local

Restore:

Replace the backupfile name, $CONTAINER, $USERNAME and $DBNAME from the following command:

zcat backupfile.sql.gz | docker exec --tty --interactive $CONTAINER psql --username=$USERNAME --dbname=$DBNAME -W

Inspiration & Development

Some code and ideas, especially the html templates and the use of fullcalendar.io are inspired by this project: https://github.com/digitaljosh/meal-planner. The data models & routing were reimplemented to match our personal requirements. The user authentication system was dropped as I wanted to avoid to do the authentication myself and just run the app as a docker service locally, potentially exposing it with a reverse proxy. Also the use of the spoonacular api to import recipes was replaced by using https://pypi.org/project/recipe-scrapers/ to support multiple recipe websites & languages.

mealplan's People

Contributors

dependabot[bot] avatar flecmart avatar

Watchers

 avatar  avatar

mealplan's Issues

I18n

Make app usable for non german speakers - at least english should be available.

  • Use I18n library to enable localization of frontend.
  • Think of solution for natural language processing
    • Probably easier in english than in german
    • Needs "common configuration" with the frontend, maybe an environment variable de|en?

Could use sth like: https://locize.com/blog/jquery-i18next/

evtl. re-write the frontend in vue3?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.