10 things I add to every Rails app

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • OPS - Build and Run Open Source Unikernels
  • GitHub repo devise_masquerade

    Extension for devise, enable login as functionality. Add link to the masquerade_path(resource) and use it.

    Alongside this, devise_masquerade is a fantastic plugin to use with your admin area, allowing you to login as other users. This is helpful for debugging account specific issues etc.

  • GitHub repo letter_opener_web

    A web interface for browsing Ruby on Rails sent emails

    This gem makes sure you don’t embarrasingly send emails to real users whilst developing or testing, life-saver!

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • GitHub repo postmark-rails

    Official integration library for using Rails and ActionMailer with the Postmark HTTP API

    Postmark is a service I have been using for years! It’s really easy to integrate into Rails using their postmark-rails gem, plus the product is great, easy to use and very reliable.

  • GitHub repo rspec-rails

    RSpec for Rails 5+

    For testing I use RSpec, along with shoulda-matchers for easily testing model relations & validations.

  • GitHub repo Sidekiq

    Simple, efficient background processing for Ruby

    I often don’t set this up right away, but within the first week or two of development comes the time for background jobs. I like to stick with what I know and Sidekiq along with it’s web interface is easy to use and reliable.

  • GitHub repo Sentry

    Sentry is cross-platform application monitoring, with a focus on error reporting.

    Next up is error monitoring with Sentry. Exceptions usually happen in production when real users get a hold of your code, and making sure these are tracked helps a ton in seeing what’s going on and fixing it!

  • GitHub repo metamagic

    Simple Ruby on Rails plugin for creating meta tags.

    This one is a small, but very useful gem. It helps set page titles, meta keywords and even open graph tags for sharing on social sites. This is a must if you have a lot of publicly accessible pages and want to start doing some SEO.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • GitHub repo Rack::Attack

    Rack middleware for blocking & throttling

    The final gem I like to include in all projects is rack-attack. This is a rate limiting tool which is great for throttling dangerous actions in your app to prevent bot attacks or other malicious users.

  • GitHub repo Administrate

    A Rails engine that helps you put together a super-flexible admin dashboard.

    I usually tend to create these from Scratch, but moving forward I’ve started to use thoughtbot’s administrate gem. It sticks to the Rails conventions of controllers and routing, so it’s easy to customise and add new functionality to.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts