Technology stack

The backbone:


 * Ruby (programming language)
 * Rails (web framework, using an MVC architecture)
 * PostgreSQL (database) (Sqlite3 in development/test environments)
 * Apache with mod_rails aka Phusion Passenger (web server)
 * Heroku (trialling this as of Jan 2013, instead of apache/mod_rails)

On top of that we use the following toolkits, Ruby gems etc:


 * Twitter Bootstrap (responsive CSS/javascript framework)
 * HAML (succinct markup for views, as an alternative to Rails' default ERB)
 * Devise (user signup/login/session management)
 * FriendlyID (making friendlier URLs)
 * Bluecloth (Markdown formatting)

Developer infrastructure:


 * Git (distributed version control)
 * Github (hosts our code repositories)
 * RSpec (for unit testing)
 * Spork (optional - speed up testing)
 * Watchr (optional - run tests whenever code files change)
 * Bundler (keep version numbers of gems in sync between coders)
 * RVM (easily use a specific version of Ruby and a specific bundle of gems)
 * Rake (Ruby replacement for Make)
 * Capistrano (deployment to the production and dev servers)
 * Cape (turn Rake tasks into Capistrano tasks)
 * FactoryGirl (create reusable data for RSpec tests)