Giter Site home page Giter Site logo

csillag61 / recipes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tandoorrecipes/recipes

0.0 1.0 0.0 16.37 MB

Django application for managing recipes

License: Other

Dockerfile 0.03% Python 12.38% JavaScript 53.82% HTML 28.95% Shell 0.02% CSS 4.81% Batchfile 0.01%

recipes's Introduction

Recipes CI

Recipes is a Django application to manage, tag and search recipes using either built in models or external storage providers hosting PDF's, Images or other files.

Preview

More Screenshots

Features

  • ๐Ÿ“ฆ Sync files with Dropbox and Nextcloud (more can easily be added)
  • ๐Ÿ” Powerful search with Djangos TrigramSimilarity
  • ๐Ÿท๏ธ Create and search for tags, assign them in batch to all files matching certain filters
  • ๐Ÿ“„ Create recipes locally within a nice, standardized web interface
  • โฌ‡๏ธ Import recipes from thousands of websites supporting ld+json or microdata
  • ๐Ÿ“ฑ Optimized for use on mobile devices like phones and tablets
  • ๐Ÿ›’ Generate shopping lists from recipes
  • ๐Ÿ“† Create a Plan on what to eat when
  • ๐Ÿ‘ช Share recipes with friends and comment on them to suggest or remember changes you made
  • โž— automatically convert decimal units to fractions for those who like this
  • ๐Ÿณ Easy setup with Docker
  • ๐ŸŽจ Customize your interface with themes
  • โœ‰๏ธ Export and import recipes from other users
  • ๐ŸŒ localized in many languages thanks to the awesome community
  • โž• Many more like recipe scaling, image compression, cookbooks, printing views, ...

This application is meant for people with a collection of recipes they want to share with family and friends or simply store them in a nicely organized way. A basic permission system exists but this application is not meant to be run as a public page. Some Documentation can be found here

While this application has been around for a while and is actively used by many (including myself) it is still considered beta software that has a lot of rough edges and unpolished parts.

Installation

The docker image (vabene1111/recipes) simply exposes the application on port 8080. You may choose any preferred installation method, the following are just examples to make it easier.

I will try to support issues with any kind of installation but since I run the docker setup I can only offer limited help for other methods.

Docker-Compose [Recommended]

  1. Choose one of the included configurations here.
  2. Download the environment (config) file template and fill it out wget https://raw.githubusercontent.com/vabene1111/recipes/develop/.env.template -O .env
  3. Start the container docker-compose up -d
  4. Open the page to create the first user.

Manual

Python >= 3.8 is required to run this! Refer to manual install for detailed instructions.

Kubernetes

You can find a basic kubernetes setup here. Please see the README in the folder for more detail.

Updating

While intermediate updates can be skipped when updating please make sure to read the release notes in case some special action is required to update.

  1. Before updating it is recommended to create a backup!
  2. Stop the container using docker-compose down
  3. Pull the latest image using docker-compose pull
  4. Start the container again using docker-compose up -d

Contributing

Pull Requests and ideas are welcome, feel free to contribute in any way.

If you want feel free to open an issue or pull request to add yourself to the list of awesome contributors.

Getting Started

This application is developed using the django framework for Python. They have excellent documentation on how to get started, so I will only give you the basics here

  1. Clone this repository wherever you like and install the Python language for your OS (at least version 3.8)
  2. Open it in your favorite editor/IDE (e.g. PyCharm)
    1. if you want, create a virutal environment for all your packages.
  3. Install all required packages by running pip install -r requirements.txt
  4. Run the migrations python manage.py migrate
  5. Start the development server python manage.py runserver

There is no need to set any environment variables. By default, a simple sqlite database is used and all settings are populated from default values.

Translating

There is a transifex project project to enable community driven translations. If you want to contribute a new language or help maintain an already existing one feel free to create a transifex account (using the link above) and request to join the project.

It is also possible to provide the translations directly by creating a new language using manage.py makemessages -l <language_code> -i venv. Once finished simply open a PR with the changed files.

License

Beginning with version 0.10.0 the code in this repository is licensed under the GNU AGPL v3 license with an common clause selling exception. See LICENSE.md for details.

Reasoning This software and all its features are and will always be free for everyone to use and enjoy.

The reason for the selling exception is that a significant amount of time was spend over multiple years to develop this software. A payed hosted version which will be identical in features and code base to the software offered in this repository will likely be released in the future (including all features needed to sell a hosted version as they might also be useful for personal use). This will not only benefit me personally but also everyone who self-hosts this software as any profits made trough selling the hosted option allow me to spend more time developing and improving the software for everyone. Selling exceptions are approved by Richard Stallman and the common clause license is very permissive (see the FAQ).

recipes's People

Contributors

vabene1111 avatar dependabot[bot] avatar transifex-integration[bot] avatar kaibu avatar tourn avatar sebimarkgraf avatar aarondoet avatar h4llow3en avatar d0t1x avatar cazier avatar tmaxxrox97 avatar ntindle avatar mwoua avatar hakoerber avatar davidlevy-leddartech avatar lbbo avatar lipschultz avatar nailik avatar stewartadam avatar melkypie avatar pataya23 avatar

Watchers

James Cloos avatar

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.