Skip to content

Latest commit

 

History

History
47 lines (37 loc) · 2.73 KB

README.md

File metadata and controls

47 lines (37 loc) · 2.73 KB

Build Status Coverage Status

This is a complete recipe system using Python + Django. A complete demonstration is live at http://recipes.davidgrant.ca.

Features

  • Most important models, such as Recipe, Food, Ingredient, Direction, Category, and a few more.
  • Very nice admin interface for creating recipes with inline ingredients and directions.
  • Front-end: only a recipe_list and recipe_detail so far, but the recipe_detail has an experimental method of displaying recipes that is based on this LaTeX style: http://www.ctan.org/tex-archive/macros/latex/contrib/cooking/ (apparently based on style in a famous German cookbook by Dr. Oetker (Gromzik, J.; Reich, C.; Sander, C. (ed.): Dr. Oetker Schulkochbuch – Das Original. Ceres, Bielefeld, 1996.)
  • Automatic conversion from imperial weights and volumes to grams
  • Automatic nice formatting of imperial volumes.
  • Uses South database migration system.

Competitors/related projects

  • OpenEats - Django based recipes website.
  • KRecipes - KDE-based desktop recipes software.
  • Ben Collins-Sussman's effrecipes - Simple, but it works. Not under active development.
  • Recipes on Rails - Ruby on Rails recipes site. Not open source as far as I know. Embeds "Source: Recipes on Rails" on all photos and has google ads. Great site though. One thing it has that my site lacks is per-direction photos. This would be easy to do. I already have per-direction ingredients.

If you are aware of any other similar projects please let me know. I am especially interested in any other web-based and open-source cookbook projects.

Getting started

Follow these steps to get the recipes site up and running.

  1. Fork or clone the project.
  2. run sudo aptitude install libmysqlclient-dev python-dev gettext
  3. Install pipenv if you don't already have it
  4. Run pipenv install --dev
  5. Run pipenv shell
  6. Copy django_recipes/settings/local.py.example to django_recipes/settings/local.py and alter settings as necessary.
  7. Create database as per settings defined in django_recipes/settings/local.py (not necessary if using sqlite)
  8. Run . setlocal.sh
  9. Run source env/bin/activate
  10. Run ./manage.py migrate
  11. Run ./manage.py runserver
  12. Go to http://locahost:8000 in your browser
  13. The admin interface is at http://localhost:8000/admin
  14. You can run unit tests by running ./ci_test.sh

Initial Data

To help get started I've provided a dump of my recipes site's tables (see dump.sql)