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. Decide with your team if you want one or two branches.
:bulb: Tip: Sections marked with ✨ are already set up by the Renuo Rails template or ship with Rails 8.1 by default. You only need to verify them, not install them.
Step 1: Create the App
- Initialise the Rails Application
- Push to Git Repository
- Initialise Gitflow
- Configure Github Repository
Step 2: Deploy the App
- Create an Application Server for Deploio or Create an Application Server for Heroku
- Configure the CI / CD
Once here, your app should be up and running on all environments.
Step 3: Quality Tools
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.
:tada: Finally you are ready to start working on you new project! :tada:
Step 4: Monitoring & Protection
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.
- AppSignal
- Sentry (optional)
- NewRelic (optional)
- robots.txt
- Percy (optional)
- Protect develop environment
Step 5: Customer Plan Services
Bookmark the project on Redmine and configure the services listed there.
- Uptimerobot
- Sentry notifications, if requested
- Depfu security monitoring
- Papertrail alerts, if requested
Guides & Recipes
The following are not part of the sequential setup. Use them as needed for your project.
- Run Javascript tests with Jest
- Pull Requests Template
- Slack and Project Notifications
- Send emails
- Sparkpost & Mailtrap
- Devise
- Cucumber
- Object storage
- awesome_print
gem 'awesome_print' - bootstrap
- font-awesome
- bullet
gem 'bullet' - lograge
gem 'lograge' - Rack Tracker (Google Analytics)
gem 'rack-tracker'–> see Google Analytics - Favicons
- Rack CORS
- Rack Attack
- :fire: Hotjar
- SEO
- redirect non-www to www
- Header tags
- wicked pdf
gem wicked_pdf - Recaptcha v3
- Wallee Payment Integration