Rails Base is the base Rails application template used at Flatstack. It's based on Rails 5 and Ruby 2.3.3.
- Puma as Rails web server
- Foreman for managing development stack with Procfile
- Letter Opener for opening mail in the browser instead of sending it
- Bullet for detecting N+1 queries and unused eager loading
- Rubocop and Rubocop-Rspec for reporting violations of the Ruby style guide
- Brakeman for checking application for common security vulnerabilities
- Pry Rails for interactively exploring objects
- Bundler Audit for scanning the Gemfile for insecure dependencies based on published CVEs
- Spring for fast Rails actions via pre-loading
- Web Console for better debugging via in-browser IRB consoles
- SCSS-Lint for reporting violations of SCSS coding conventions
- Capybara for integration testing, including JavaScript behavior
- Factory Girl for test data
- RSpec for unit testing
- Shoulda Matchers for common RSpec matchers
- Email Spec for common matchers for testing emails
bin/setup
- setup required gems and migrate db if neededbin/quality
- runs rubocop, brakeman, rails_best_practices and bundle-audit for the appbin/ci
- should be used in the CI or locallybin/server
- to run server locally
-
Clone application as new project with original repository named "rails-base".
git clone git://github.com/codecraft63/rails-base.git --origin rails-base [MY-NEW-PROJECT]
-
Create your new repo on GitHub and push master into it. Make sure master branch is tracking origin repo.
git remote add origin [email protected]:[MY-GITHUB-ACCOUNT]/[MY-NEW-PROJECT].git git push -u origin master
-
Run setup script
bin/setup
-
Run test and quality suits to make sure all dependencies are satisfied and applications works correctly before making changes.
bin/ci
-
Run app
bin/server
-
Update README
Do not forget to update application
README.md
file with detailed information based on the existing template.# update README.md git commit -am "Update README.md"
Rails Base is maintained by Ramon Soares based in Flatstack rails-base.