Skip to content
An opinionated starter application based on Ruby 2.6, Rails 5.2, Webpack 4, Yarn and Bootstrap 4, deployable on Heroku
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Update Font Awesome version to 5.8.2 May 8, 2019
bin
config
db
lib Add basic libraries Jul 13, 2018
log
public
spec
tmp First commit May 9, 2018
vendor
.browserslistrc
.codeclimate.yml
.gitignore Use Webpacker 4 Dec 22, 2018
.postcssrc.yml
.rspec
.rubocop.yml
.slim-lint.yml Add basic libraries Jul 13, 2018
.slugignore
.stylelintrc
.travis.yml Use Node 12 May 3, 2019
CHANGELOG.md Update Font Awesome version to 5.8.2 May 8, 2019
Gemfile
Gemfile.lock Update RuboCop dependency May 21, 2019
LICENSE
Procfile
README.md
Rakefile
THIRD-PARTY-LICENSES Remove SCSS-Lint from license Sep 27, 2018
VERSION Update version and changelog Apr 30, 2019
app.json
babel.config.js
config.ru Add basic libraries Jul 13, 2018
package.json Bump webpack-dev-server from 3.3.1 to 3.4.1 May 20, 2019
postcss.config.js Use Webpacker 4 Dec 22, 2018
yarn.lock

README.md

Rails 5 Starter App

Build Status Code Climate Coverage Status

Deploy

This is an opinionated starter web application based on the following technology stack:

Starter App is deployable on Heroku. Demo: https://ruby2-rails5-bootstrap-heroku.herokuapp.com/

Gemfile also contains a set of useful gems for performance, security, api building...

Thread safety

We assume that this application is thread safe. If your application is not thread safe or you don't know, please set the minimum and maximum number of threads usable by puma on Heroku to 1:

$ heroku config:set RAILS_MAX_THREADS=1

Master Key

Rails 5.2 introduced encrypted credentials.

The master key used by this repository is:

b8cc3ac9ab8a3280b03af3d29b2e50ca

DO NOT SHARE YOUR MASTER KEY. CHANGE THIS MASTER KEY IF YOU ARE GOING TO USE THIS REPO FOR YOUR OWN PROJECT.

Heroku Platform API

This application supports fast setup and deploy via app.json:

$ curl -n -X POST https://api.heroku.com/app-setups \
-H "Content-Type:application/json" \
-H "Accept:application/vnd.heroku+json; version=3" \
-d '{"source_blob": { "url":"https://github.com/diowa/ruby2-rails5-bootstrap-heroku/tarball/master/"} }'

More information: Setting Up Apps using the Platform API

Recommended add-ons

Heroku's Production Check recommends the use of the following add-ons, here in the free version:

$ heroku addons:create newrelic:wayne # App monitoring
$ heroku config:set NEW_RELIC_APP_NAME="Rails 5 Starter App" # Set newrelic app name
$ heroku addons:create papertrail:choklad # Log monitoring

Tuning Ruby's RGenGC

Generational GC (called RGenGC) was introduced from Ruby 2.1.0. RGenGC reduces marking time dramatically (about x10 faster). However, RGenGC introduce huge memory consumption. This problem has impact especially for small memory machines.

Ruby 2.1.1 introduced new environment variable RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR to control full GC timing. By setting this variable to a value lower than the default of 2 (we are using the suggested value of 1.3) you can indirectly force the garbage collector to perform more major GCs, which reduces heap growth.

$ heroku config:set RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.3

More information: Change the full GC timing

You can’t perform that action at this time.