Bluebase

The base app for Blueprint's Rails apps.

Features

Core gems:

  • Thin for the server
  • Postgres to use postgres as the database
  • Figaro for environment variables

Component gems:

Frontend gems:

  • Slim to use the Slim templating language
  • Autoprefixer to autogenerate vendor prefixes
  • Flutie for the body_class view helper
  • Title for page titles in I18n

Development gems:

Test gems:

Production gems/features (most of these require setup):

  • New Relic for monitoring performance
  • Rollbar for error logging
  • Rails 12Factor for Heroku

Other features:

  • Staging environment config
  • Email config using SMTP
  • The ./bin/setup convention for new developer setup
  • Rails' flashes set up and in application layout
  • Configuration for Rubocop/Hound
  • A Guardfile set up with Livereload, RSpec, and Rubocop
  • A few nice time formats set up for localization
  • Rack::Deflater to compress responses with Gzip
  • A low database connection pool limit
  • t() and l() in specs without prefixing with I18n
  • An automatically-created SECRET_KEY_BASE environment variable in all environments.
  • Configuration for Travis continuous integration.
  • Config for Google Analytics

Installation

Run

gem install bluebase

Then you can run

bluebase app_name

To create an app called app_name. Optionally append -G repo_name and -H to create a Github repo and staging + production Heroku apps, respectively.

Contributing

Feel free to open issues or send pull requests with improvements. Thanks in advance for your help!

Cal Blueprint

bp Cal Blueprint is a student-run UC Berkeley organization devoted to matching the skills of its members to our desire to see social good enacted in our community. Each semester, teams of 4-5 students work closely with a non-profit to bring technological solutions to the problems they face every day.

Credits

Bluebase is a fork of thoughtbot's suspenders

License

Bluebase is Copyright © 2014 Cal Blueprint. It is free software, and may be redistributed under the terms specified in the LICENSE.txt file.