Recipebook is a recipe management application built as a Ruby on Rails excercise project.
The goal is to build a system which allows building of recipes of existing ingredients or larger recipes by using pre-existing recipes as components.
For example a chicken pizza has two components: the pizza base (basically bread dough) a tomato sauce (and that really requires a good recipe) as well as a number of ingredients, like chicken meat.
Ingredients may have an amount specified, which is saved to the join table.
Recipebook is built upon Bort, a Rails application skeleton.
License
Recipebook is licensed under GPLv3.
Bort comes with a few commonly used plugins installed and already setup.
RESTful Authentication
(Not in use as of now, to make development of other features easier)
RESTful Authentication is already setup. The routes are setup, along with the mailers and observers.
Forgotten password comes setup, so you don’t have to mess around setting it up with every project.
The AASM plugin comes pre-installed. RESTful Authentication is also setup to use user activation.
Bort now comes with Role Requirement by Tim Harper. A default
admin role is predefined along with a default admin user. See the migrations for the admin login details.
Bort, as of 0.3, has Open ID integrated with RESTful Authentication. Rejoice!
We use will_paginate in pretty much every project we use, so Bort comes with it pre-installed.
You should be testing your code, so Bort comes with Rspec and Rspec-rails already installed so you’re
ready to roll.
You don’t want your applications to crash and burn so Exception Notifier is already installed to let
you know when everything goes to shit.
Packages up your css/javascript so you’re not sending 143 files down to the user at the same time. Reduces
load times and saves you bandwidth.
The routes for RESful Auth and the forgot password stuff are already sorted for you.
There is a settings.yml file that contains site-wide stuff. The site name, url and admin email are all used
in the RESTful Auth mailers, so you don’t need to worry about editing them.
The database.yml defaults to sqlite3 but also contains the settings for MySQL in comments so you can switch
over easily.
Bort comes ready to rock capistrano. The recipe that is setup is based on using git and passenger. It’s ready
to go with multistage deployments. It deploys to the production config by default, so if you don’t need it
you can ignore it. Just update config/deploy/production.rb with your deployment settings.
More info on capistrano-ext/multistage deployments can be found here: http://weblog.jamisbuck.org/2007/7/23/capistrano-multistage
Bort is setup to use the database to store sessions by default.
- password and password_confirmation are set up to be filtered
- there is a default application layout file
- a page title helper has been added
- index.html is already deleted
- rails.png is already deleted
- a few changes have been made to the default views
- a default css file with blank selectors for common rails elements
Bort put together by people at Fudge