Firestarter
¶ ↑
Firestarter
is the base Rails application used at Group Buddies.
Installation¶ ↑
First install the firestarter gem:
gem install gb-firestarter
Then run:
firestarter projectname
This will create a Rails app in projectname
.
By default this script creates a new git repository. See below if you want to use it against an existing repo.
Gemfile¶ ↑
To see the latest and greatest gems, look at Firstarter’s Gemfile, which will be appended to the default generated projectname/Gemfile.
It includes application gems like:
-
Bourbon for Sass mixins
-
Email Validator for email validation
-
jQuery Rails for jQuery
-
Postgres for access to the Postgres database
-
Rack Timeout to abort requests that are taking too long
-
Recipient Interceptor to avoid accidentally sending emails to real people from staging
-
Simple Form for form markup and style
-
Unicorn to serve HTTP requests
-
Title for storing titles in translations
-
Dotenv for loading environment variables
And gems only for staging and production like:
-
New Relic RPM for monitoring performance
-
Rails 12 Factor to make running Rails 4 apps easier on Heroku
And development gems like:
-
Pry Rails for debugging
And testing gems like:
-
Capybara and Capybara Webkit for integration testing
-
Factory Girl for test data
-
RSpec for unit testing
-
RSpec Mocks for stubbing and spying
-
Shoulda Matchers for common RSpec matchers
-
Timecop for testing time
Other goodies¶ ↑
Firestarter
also comes with:
-
The {
./bin/setup
} convention for new developer setup -
Rails’ flashes set up and in application layout
-
A few nice time formats set up for localization
-
Rack::Deflater
to compress responses with Gzip
Firestarter
fixes several of Rails’ insecure defaults:
-
Firestarter
uses Puma instead of WEBrick, allowing less verbose Server headers. -
Firestarter
is configured to pull your application secret key base from an environment variable, which means you won’t need to risk placing it in version control.
Git¶ ↑
This will initialize a new git repository for your Rails app. You can bypass this with the --skip-git
option:
firestarter app --skip-git true
Dependencies¶ ↑
Firestarter
requires Ruby 2.1.0 or greater.
Some gems included in Firestarter
have native extensions. You should have GCC installed on your machine before generating an app with Firestarter
.
Use OS X GCC Installer for Snow Leopard (OS X 10.6).
Use Command Line Tools for XCode for Lion (OS X 10.7) or Mountain Lion (OS X 10.8).
We use Capybara Webkit for full-stack Javascript integration testing. It requires QT. Instructions for installing QT are here.
PostgreSQL needs to be installed and running for the db:create
rake task. See Postgres.app for Mac OS.
Issues¶ ↑
If you have problems, please create a Github Issue.
Contributing¶ ↑
Please see CONTRIBUTING.md for details.
Credits¶ ↑
Firestarter
is largely inspired by thoughtbot’s suspenders, so thank you thoughtbot.
Firestarter
is maintained by Group Buddies.
License¶ ↑
Firestarter
is © 2014 GB-Software As A Service, Lda. It is free software and may be redistributed under the terms specified in the LICENSE file.