Ruby On Rails - Application Setup Guide
This setup covers a pure, monolithic Rails application.
This is the most frequent type of application at Renuo and is probably the easiest to set up.
The application (and its 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 bear 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.
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
Your app should now be up and running on all environments.
Step 3: Quality Tools
Set up the tools that help your team maintain high quality throughout development.
Your team can now start working on the project.
Step 4: Monitoring & Protection
Set these up while the rest of the team starts working. Most are not optional, but they donβt block other work.
- 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
- FontAwesome
- Bullet
gem 'bullet' - Lograge
gem 'lograge' - Rack Tracker (Google Analytics)
gem 'rack-tracker'β see Google Analytics - Favicons
- Rack CORS
- Rack Attack
- π₯ Hotjar
- SEO
- redirect non-www to www
- Header tags
- Recaptcha v3
- Wallee Payment Integration