Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ruby On Rails - Application Setup Guide

This setup will cover a pure, monolithic Rails Applications. This is the most frequent type of application we have at Renuo and is probably also the easiest to setup. The application (and relative GitHub repo) will be named after the [project-name] you chose before.

[!NOTE] Have you chosen a [project-name] yet? If not, please do so now. Check our Naming Conventions

[!NOTE] Have you decided if you need two environments (develop and main) or just one? As a rule of thumb: for customers we always use two environments, for internal projects we usually only use one. Why the difference? Because we can bare the risk of having a bug in an internal project, but we cannot do that for a customer.

  1. Initialise the Rails Application
  2. Push to Git Repository
  3. Initialise Gitflow
  4. Configure Git Repository
  5. Create an Application Server for Deploio or Create an Application Server for Heroku
  6. Configure the CI / CD

Once here, your app should be up and running on all environments.

It's now time to introduce some more tools which will help you and the team to keep a high quality during the project development.

  1. RSpec
  2. Linting and automatic checks
  3. Gems and libraries 💎
  4. Cloudflare
  5. README

🎉 Finally you are ready to start working on you new project! 🎉

While everyone starts working there are some more things which you should setup. Most are not optional, but the rest of the team can start working even if those are not in place yet.

  1. AppSignal
  2. Sentry (optional)
  3. NewRelic (optional)
  4. robots.txt
  5. Percy (optional)
  6. Protect develop environment

Some services should be configured accordingly to the packages bought by the customer. Once the new application is created, please add the project to the monitoring list and discuss with the PO how the service should be configured.

  1. Uptimerobot
  2. Depending on the monitoring list, also Sentry notifications need to be configured.
  3. Depfu security monitoring
  4. Depending on the monitoring list, also Papertrail alerts need to be configured.

Here you will find a series of chapters and guides on how to setup some of the gems we use most often and some other useful services:

  1. Run Javascript tests with Jest
  2. Pull Requests Template
  3. Slack and Project Notifications
  4. Send emails
  5. Sparkpost & Mailtrap
  6. Devise
  7. Sidekiq
  8. Cucumber
  9. Amazon S3 and Cloudfront
  10. awesome_print gem 'awesome_print'
  11. bootstrap
  12. font-awesome
  13. bullet gem 'bullet'
  14. lograge gem 'lograge'
  15. Rack Tracker (Google Analytics) gem 'rack-tracker' --> see Google Analytics
  16. Favicons
  17. Rack CORS
  18. Rack Attack
  19. 🔥 Hotjar
  20. SEO
    • redirect non-www to www
    • Header tags
  21. wicked pdf gem wicked_pdf
  22. Recaptcha v3
  23. Wallee Payment Integration