All Projects → recipeyak → recipeyak

recipeyak / recipeyak

Licence: AGPL-3.0 license
🍛 Application to automate the selection of meals and creation of shopping lists.

Programming Languages

typescript
32286 projects
python
139335 projects - #7 most used programming language
HTML
75241 projects
SCSS
7915 projects
shell
77523 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to recipeyak

batamlawancorona api
Unofficial API of Batam Lawan Corona. Documentation and sample of use can be found at http://batamlawancoronaapi.herokuapp.com/docs/
Stars: ✭ 22 (-4.35%)
Mutual labels:  django-rest-framework
django-rest-framework-oauth
OAuth support for Django REST Framework
Stars: ✭ 52 (+126.09%)
Mutual labels:  django-rest-framework
django-rest-firebase-auth
Use firebase authentication with your django rest framework project
Stars: ✭ 16 (-30.43%)
Mutual labels:  django-rest-framework
Dailyfresh-B2C
这是一个 ☛全栈/全端/全平台☚ 的B2C模式的电商项目, web后台基于Django2.0 + Python3.6, 前后端分离,前端使用Vue框架开发。移动端基于Flutter开发,一套代码支持Android&IOS平台。微信小程序基于mpvue框架开发。
Stars: ✭ 74 (+221.74%)
Mutual labels:  django-rest-framework
drf dynamics
Dynamic queryset and serializer setup for Django REST Framework
Stars: ✭ 26 (+13.04%)
Mutual labels:  django-rest-framework
djburger
Framework for safe and maintainable web-projects.
Stars: ✭ 75 (+226.09%)
Mutual labels:  django-rest-framework
ChRIS ultron backEnd
Backend for ChRIS
Stars: ✭ 28 (+21.74%)
Mutual labels:  django-rest-framework
ska
Sign data using symmetric-key algorithm encryption. Validate signed data and identify possible validation errors. Uses sha-(1, 224, 256, 385 and 512)/hmac for signature encryption. Custom hash algorithms are allowed. Useful shortcut functions for signing (and validating) dictionaries and URLs.
Stars: ✭ 39 (+69.57%)
Mutual labels:  django-rest-framework
django-rest-multitokenauth
An extension to Django-Rest-Frameworks Token Authentication, enabling a user to have multiple authorization tokens
Stars: ✭ 13 (-43.48%)
Mutual labels:  django-rest-framework
django-rql
Django RQL library
Stars: ✭ 83 (+260.87%)
Mutual labels:  django-rest-framework
django todo app
python django를 활용한 웹 개발 튜토리얼! todo_app 만들기
Stars: ✭ 82 (+256.52%)
Mutual labels:  django-rest-framework
Cetus-GUI
cetus web端管理工具
Stars: ✭ 53 (+130.43%)
Mutual labels:  django-rest-framework
rnacentral-webcode
RNAcentral website source code
Stars: ✭ 23 (+0%)
Mutual labels:  django-rest-framework
django-rest-framework-condition
Decorators @​condition, @​last_modified and @​etag for Django Rest Framework
Stars: ✭ 26 (+13.04%)
Mutual labels:  django-rest-framework
ioTank
Indoor environment monitor based on Esp8266
Stars: ✭ 15 (-34.78%)
Mutual labels:  django-rest-framework
deploy-django
A bash script to deploy a django project for production sites.
Stars: ✭ 85 (+269.57%)
Mutual labels:  django-rest-framework
django-aws-template
Opinionated Django Project Template for AWS deployment
Stars: ✭ 36 (+56.52%)
Mutual labels:  django-rest-framework
kubernetes-automation-toolkit
This repository contains code examples and documentation for learning how applications can be developed with Kubernetes
Stars: ✭ 51 (+121.74%)
Mutual labels:  django-rest-framework
django-rest-framework-recaptcha
reCAPTCHA field for Django REST framework serializers
Stars: ✭ 24 (+4.35%)
Mutual labels:  django-rest-framework
django-user-management
User management model mixins and api views.
Stars: ✭ 56 (+143.48%)
Mutual labels:  django-rest-framework

Recipe Yak CircleCI

Application to automate the selection of meals and creation of shopping lists.

Why?

To have a centralized location where multiple people can organize a meal plan.

Prior Art / Alternatives

name created open source?
Meal Master 1986
Recipe Box 1991-11-01
MasterCook 1992
Home Cookin 1992
Cookpad 1998-03-01
Cook'n 1999-05-27
LargoRecipes 2001-04
Krecipes 2003-05-01
Big Oven 2004-02-04
Mac Gourmet 2004-06-05
Gourmet 2004-06-14
REML 2005-03-02
Connoisseur 2008-08-06
Plan to Eat 2008-09-06
Yum Mac 2008
Chicken Ping 2009-06-22
Open Eats 2010-05-25
Paprika 2010-08-16
Foodie 2011
Copy Me That 2011-03-19
Anylist 2012-04-04
Whisk 2013
Mealime 2013-01-20
Recipe Keeper 2015-06-24
Forks Meal Planner 2016-01-05
Cinc 2016-03-31
Grocy 2017-04-15
Grocery 2017-05-09
Cooklist 2017-05-26
Prepear 2017-11-09
Saffron 2017-12-04
Tandoor 2018-01-31
Recipe Sage 2018-02-18
KookBook 2018-04-24
NextCloud Cookbook 2019-03-10
RecipeRadar 2019-05-18
Crouton 2019-10-14
AnyMeal 2020-05-07
EnRecipes 2020-12-02
Mealie 2020-12-24
Coopes 2021-03-11
Mela 2021-03-15
Reciped 2021-05-19
Famnom 2021-08-27
Homechart 2021-11-22
Meal DJ 2021-12-29
Recipe Box 2022-03-07
CookTime 2022-04-10
Lollipop 2022-06-29
Umami 2022-07-12

Dev

Note: postgres is required. Either run it via docker-compose -f **docker-compose-dev.yml -d or via the homebrew cask mac app. Yarn and Poetry (0.12) are required for frontend and backend installation.

# create a .env with `DEBUG=1`. Note: you may need to update database URIs and related vars.
cp .env-example .env
echo "DEBUG=1" >> .env

cd frontend
yarn install
s/dev
s/test
s/lint
cd -

cd backend
brew install postgres # necessary for binary pyscopg2
poetry config virtualenvs.in-project true
poetry install
# start postgres (DBngin.app is nice on Mac)
s/dev
s/test
s/lint

# use `yarn` and `poetry` to add and upgrade dependencies
yarn add $FOO
poetry add $BAR

Prod

Deploy a new release

  1. Copy .env-example to .env and add in the proper configuration variables

  2. Install Ansible

  3. Setup Ansible Inventory

    ---
    all:
      hosts:
        recipeyak:
          ansible_host: 255.255.255.255
          ansible_user: root
  4. Run the playbook

    ansible-playbook ./infrastructure/playbooks/deploy.yml

Maintenance mode

Enabling maintenance mode returns a 503 status code with a webpage explaining the site is down for maintenance.

ansible-playbook ./infrastructure/playbooks/maintenance_mode.yml

Configuration

Environment variables are used for configuration. Unless otherwise stated, a value is required.

  • DJANGO_SECRET_KEY — long, randomized string required for django
    • ex: 284urfljkdflsdf
  • DATABASE_URL — URL for Django's database
    • ex: postgres://postgres@postgres:5432/postgres
  • EMAIL_HOST — SMTP hostname for sending email from Django
    • ex:smtp.mailgun.org
  • EMAIL_HOST_USER — SMTP email for logging into server
  • EMAIL_HOST_PASSWORD — SMTP password for authenticating
    • ex: SomeUnguessablePassword
  • SENTRY_DSN — Sentry secret configuration for backend.
    • ex: https://<key>:<secret>@sentry.io/<project>
  • FRONTEND_SENTRY_DSN — Sentry configuration for frontend.
    • ex: https://<key>@sentry.io/<project>
  • AWS_ACCESS_KEY_ID — AWS access key for backups and image upload.
    • ex: someAWSKey
  • AWS_SECRET_ACCESS_KEY — AWS secret key for backups and image upload.
    • ex: someSecretKey
  • STORAGE_BUCKET_NAME — Bucket for image upload.
    • ex: recipeyak-production
  • STORAGE_HOSTNAME — Hostname to use to access image bucket. An s3 hostname or cloudfront distribution hostname.
    • ex: 594f11c618d1.cloudfront.net

AWS configuration

  1. Create an S3 bucket and configure a CORS policy that allows the website to upload resources.

    [
      {
        "AllowedHeaders": ["*"],
        "AllowedMethods": ["PUT", "POST"],
        "AllowedOrigins": ["http://localhost:*", "https://recipeyak.com"],
        "ExposeHeaders": []
      }
    ]
  2. Create an IAM policy to give your AWS ID access to get_object and put_object for your bucket.

  3. Configure imgix to pull from the bucket.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].