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
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • SaaSHub - Software Alternatives and Reviews
  • 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.

  • 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!

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • 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.

  • rspec-rails

    RSpec for Rails 5+

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

  • 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.

  • Sentry

    Developer-first error tracking and performance monitoring

    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!

  • 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.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • 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.

  • 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