Skip to content

Latest commit

 

History

History
41 lines (32 loc) · 2.75 KB

README.md

File metadata and controls

41 lines (32 loc) · 2.75 KB

Build Status Coverage Status Code Issues

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

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

  • 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. Run ./createVirtualEnv.sh to create a virtualenv environment in an env directory with the correct dependencies. This assumes you have pip and virtualenv.
  4. Copy django_recipes/settings/local.py.example to local.py and alter settings as necessary.
  5. Create database (not necessary if using sqlite)
  6. Run ". setlocal.sh"
  7. Run "source env/bin/activate"
  8. Run ./manage.py syncdb from the menu
  9. Run ./manage.py migrate
  10. Run ./manage.py runserver
  11. Go to http://locahost:8000 in your browser
  12. The admin interface is at http://localhost:8000/admin
  13. You can run unit tests by running ./ci_test.sh