Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
174 lines (112 sloc) 5.87 KB

Fork of the original bort base Rails app

Changes noted below.

Bort

Bort is a base Rails 2.2.2 application that makes creating new projects easier and faster. Bort is developed and maintained by Fudge Studios, Jim Neath and Matt Hall

If you have any suggestions for improvements then feel free to leave a request on User Voice

Install

  • Download and unzip Bort
  • Edit the database.yml and the settings.yml files
  • Changed the default password in the bort migration
  • Edit the REST_AUTH_SITE_KEY in each of the environment files
  • Rake db:migrate
  • Have a brew and celebrate

Plugins Installed

Bort comes with a few commonly used plugins installed and already setup.

RESTful Authentication

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.

User Roles

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.

Open ID Authentication

Bort, as of 0.3, has Open ID integrated with RESTful Authentication. Rejoice!

Plugins new to this fork

  • fckeditor
  • jrails
  • thoughtbot-limerick_rake
  • thoughtbot-mile_marker
  • thoughtbot-squirrel

Gems Installed

Will Paginate

We use will_paginate in pretty much every project we use, so Bort comes with it pre-installed.

Rspec & Rspec-rails

You should be testing your code, so Bort comes with Rspec and Rspec-rails already installed so you’re
ready to roll.

Note: Shoulda is installed as the preferred test framework. Rspec is used for pre-existing models/controllers (e.g. Users and Roles)

Hoptoad Exception Notifier

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.

Asset Packager

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.

Gems new to this fork

  • capistrano-ext
  • haml
  • mocha
  • newrelic_rpm
  • RedCloth
  • thoughtbot-quietbacktrace
  • thoughtbot-factory_girl
  • thoughtbot-shoulda

New Relic RPM

By default, the gem is included.
If you do not have a free account, signup here: https://rpm.newrelic.com

After signing-up, replace config/newrelic.yml with the file they provide for your account here

Routes

The routes for RESful Auth and the forgot password stuff are already sorted for you.

Settings YAML

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.

Database YAML

The database.yml defaults to sqlite3 but also contains the settings for MySQL in comments so you can switch
over easily.

Rake Tasks

Rake tasks are contained in the limerick_rake gem.

  • bootstrap (Provides rake tasks for loading data into the database. These are used for an initial application dataset needed for production.)
  • capistrano (Standard capistrano deployment tasks)

Testing

The basic test setup uses Test::Unit, Shoulda, factory_girl, and mocha, and includes some standard “shoulda macros” that we’ve used on various projects.

Factory Girl is a fixture replacement library, following the factory pattern. Place your factories in test/factories.rb. The fixture directory has been removed, as fixtures are not used.

Shoulda is a pragmatic testing framework for TDD and BDD built on top of Test::Unit. A number of additional testing macros are provided in test/shoulda_macros:

Deployment

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

Deployment is done using capistrano, and deploys to a Passenger (aka mod_rails), running under Apache.
Rake tasks are provided for managing git branches which the different environments pull from for deploy.

To push the git master to git staging branch run:


rake git:push:staging
</pre>

To push the git staging branch to production branch run:


rake git:push:production
</pre>

Setup your deployment environment by running:


cap ENVIRONMENT deploy:setup
</pre>

You’ll be prompted for the environment’s database password
Deploy to the desired environment by running:


cap ENVIRONMENT deploy
</pre>

The default environment for deploy is staging, to deploy to staging, just run:


cap deploy
</pre>

Uses the Database for Sessions

Bort is setup to use the database to store sessions by default.

Misc

  • 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

Credits

Bort put together by people at Fudge