Awesome Rails
A curated list of awesome things related to Ruby on Rails
awesome-rails
Table of Contents
Resources
Official Resources
Back to top
External Resources
Books
Video courses
Video tutorials
Youtube channels
Other external resources
Back to top
Jobs
Tip: You can find list of remote job boards including Rails jobs on
awesome-remote-job
Back to top
Back to top
Articles
from dev.to:
More
than “Hello World” in Docker: Build Rails + Sidekiq web apps in
Docker
Design
Patterns with Ruby on Rails part 1: Introduction and Policy Object -
Part
2
The
Progressive Rails App
Modern
Rails flash messages (part 1): ViewComponent, Stimulus & Tailwind
CSS - Part
2
Building
a Rails App With Multiple Subdomains
Reactive
Rails applications with StimulusReflex
1
Backend, 5 Frontends - Todo List with Rails, React, Angular, Vue,
Svelte, and jQuery
Create
a Video Party App With Rails Part 1: Building the Backend - Part
2
The
Rails Model Introduction I Wish I Had
How
to create a gem in Ruby on Rails? -From Scratch-
Multiple
Foreign Keys for the Same Relationship in Rails 6
QR
Code Reader on Rails
Magic
Links with Ruby On Rails and Devise
I
created the same application with Rails and no JavaScript
Instantly
speed up your Rails application by self-hosting your fonts
Reactive
Map with Rails, Stimulus Reflex and Mapbox
A
Future for Rails: StimulusReflex
Introduction
to Ruby on Rails Patterns and Anti-patterns Part 1 - Part
2
Rails
Concerns: To Concern Or Not To Concern
Building
an Event Sourcing System in Rails, Part 1: What is Event Sourcing? -
Part
2
Real
Time Notification System with Sidekiq, Redis and Devise in Rails
6
Deploying
Your Rails 6 App
What’s
Cooking in Rails 7?
Using
Hotwire Turbo in Rails with legacy JavaScript
From
Rails scaffold listing to Hotwire infinite scroll
Building
a Component Library in Rails With Storybook
How
to Speed Up Load Times In A Rails App - What I Wish I Knew Four Months
Ago
Endless
Scroll / Infinite Loading with Turbo Streams & Stimulus
Ruby/Rails
Machine Setup Guide -How
many Heroku dynos do you need, and which size—An opinionated guide
-Rails
Environment Variables Using Credentials -Email
Subscription Workflow - Ruby on Rails -Mastering
Low Level Caching in Rails
from shopify.engineering:
from blog.planetargon.com:
from blog.arkency.com:
from sitepoint.com:
from pganalyze.com:
from semaphoreci.com:
from evilmartians.com:
from digitalocean.com:
from cloud66.com:
from not yet classified sources:
Back to top
Open Source Rails Apps
Note: Rails versions of these apps are valid as the date of latest
commit. They are defined in their Gemfile and/or Gemfile.lock and they
might be outdated. If you find it outdated, don’t forget to notfiy us by
opening a pull request.
Gems
[:red_circle:] : RubyGems link of gems
Direct dependencies of the “rails” gem:
Other gems that can be used with Rails
ace-rails-ap - A
gem to integrate ajax.org cloud9 editor into Rails asset pipeline. :red_circle:
action_policy
- A tool to handle authorization. :red_circle:
actionview-svelte-handler
- An Action View template handler to seamlessly integrate Svelte views.
:red_circle:
active_decorator
- A gem to keep views & helpers object-oriented. :red_circle:
active_enum - A
gem to provide enum classes :red_circle:
activeadmin
- A gem to provide admin panel. :red_circle:
activerecord-analyze
- A gem to add EXPLAIN ANALYZE to Rails Active Record query objects. :red_circle:
activerecord-import
- A gem to handle bulk data insertion using ActiveRecord. :red_circle:
activerecord-pg_enum
- A gem to integrate PostgreSQL’s enumerated types with the Rails enum
feature. :red_circle:
activerecord-postgis-adapter
- ActiveRecord connection adapter for PostGIS. :red_circle:
activerecord-postgres_enum
- A gem to adds migration and schema.rb support to PostgreSQL enum data
types. :red_circle:
activerecord-sqlserver-adapter
- ActiveRecord connection adapter for the SQL Server. :red_circle:
activerecord-typedstore
- A gem to implement ActiveRecord::Store with type
definition. :red_circle:
activity_notification
- A gem to integrate user activity notification. :red_circle:
aggregate_root
- A gem to handle event sourcing. :red_circle:
ahoy_email - A
tool to provide mail analytics. :red_circle:
alba - A JSON
serializer for Ruby, JRuby, and TruffleRuby. :red_circle:
algoliasearch-rails
- A gem to integrate Algolia search. :red_circle:
annotate - A
gem to annotate rails classes with schema & routes info. :red_circle:
anycable-rails - A
gem to handle websocket server. :red_circle:
apipie-rails -
A REST API documentation tool. :red_circle:
auther - A gem to
provide simple, form-based authentication. :red_circle:
autoprefixer-rails -
A gem to add vendor prefixes to stylesheets. :red_circle:
avo -
Configuration-based, no-maintenance, extendable Ruby on Rails admin
panel. rubygems
bemi-rails - A
robust data change tracking and audit trail for Rails. :red_circle:
better_errors -
A tool to provide better error page. :red_circle:
brakeman - A
gem to scan code against security vulnerabilities. :red_circle:
breadcrumbs_on_rails
- A gem to create & manage breadcrumbs-style navigation. :red_circle:
bulma-rails - A
wrapper for Bulma, a CSS framework based on flexbox. :red_circle:
cancancan
- A gem to handle authorization. :red_circle:
carrierwave
- A gem to handle file uploads. :red_circle:
caxlsx_rails -
A gem to generate entity-relationship diagram. :red_circle:
counter_culture -
A gem to provide counter caches. :red_circle:
db_validator - A
gem to find records in your database that do not meet model validation
requirements. :red_circle:
devise - A gem to
provide authentication. :red_circle:
doorkeeper - A
gem to introduce OAuth2 provider functionality. :red_circle:
draper - A gem to
add presentation logic. :red_circle:
factory_bot_rails
- A fixture replacement for testing in Rails :red_circle:
filestack-rails
- A gem to integrate Filestack. :red_circle:
formtastic -
A Rails form builder gem with semantically rich and accessible markup.
:red_circle:
friendly_id - A
gem to deal with slugs & permalinks. :red_circle:
frozen_record
- A gem to provide ActiveRecord-like interface to query static YAML
files. :red_circle:
geokit-rails -
A gem to integrate Geokit in Rails apps. :red_circle:
good_job - A
gem to provide Postgres-based ActiveJob backend. :red_circle:
gretel - A tool to
generate breadcrumbs. :red_circle:
groupdate - A gem
to manage temporal data. :red_circle:
hotwire-rails - A
gem to integrate Hotwire in Rails apps. :red_circle:
image_optim_rails -
A gem to handle image optimization. :red_circle:
js-routes - A
tool to generate all Rails routes as JavaScript helpers. :red_circle:
kaminari - A gem
to provide pagination. :red_circle:
kreds - A shorthand
for Rails credentials access. :red_circle:
kt-paperclip -
A gem to handle file uploads. :red_circle:
lockbox - A gem to
deal with encryption. :red_circle:
lograge - A gem to
customize logger in Rails apps. :red_circle:
mailkick - A tool
to handle mail unsubscriptions. :red_circle:
marginalia - A
gem to attach comments to ActiveRecord’s SQL queries. :red_circle:
metka - A gem to
manage tags using Postgresql array columns. :red_circle:
money-rails -
A gem to integrate Money gem in Rails apps. :red_circle:
paloma - A gem to
manage page-specific JavaScript in Rails apps. :red_circle:
passive_columns
- A gem that extends Active Record to retrieve specific columns from DB
on demand. :red_circle:
pgcli-rails - A
replacement of rails:dbconsole command to manage
Postgresql. :red_circle:
premailer-rails -
A gem to handle email styling. :red_circle:
prerender_rails
- A gem to prerender JavaScript-rendered pages. :red_circle:
rabarber - A gem
to handle role-based authorization. :red_circle:
rails-erd - A
gem to generate entity-relationship diagram. :red_circle:
rails-mermaid_erd
- A gem to interactively generate entity-relationship diagram in image
or Markdown format. :red_circle:
rails-settings-cached
- A gem to manage global settings as key-value pairs. :red_circle:
rails_admin - A
gem to create & manage admin panel for Rails app. :red_circle:
rails_event_store
- A gem to implement event store in Rails :red_circle:
rails_semantic_logger
- A gem to provide alternative logging approach for Rails app. :red_circle:
ranked-model -
A gem to handle sorting for rows. :red_circle:
ransack - A
gem to provide search functionality. :red_circle:
react-rails - A
gem to integrate React.js with Rails app. :red_circle:
react_on_rails -
A gem to integrate React.js with Rails app with SSR. :red_circle:
redisWebManager
- Web interface that allows you to manage easily your Redis instance. :red_circle:
reform-rails - A
gem to wrap Reform gem, a form validation tool, with Rails app. :red_circle:
rgeo-activerecord -
A gem to provide common tools used by RGeo-based spatial adapters. :red_circle:
rodauth-rails -
A gem to wrap Rodauth, an authentication handler, for Rails apps. :red_circle:
rollup - A gem to
handle time-series data in Rails :red_circle:
route_translator
- A tool to handle route translation. :red_circle:
rspec-rails - A
testing framework. :red_circle:
rubocop-rails
- A code style checking tool. :red_circle:
scenic - A gem
to manage database views. :red_circle:
searchkick - A
gem to provide search functionality. :red_circle:
select2-rails
- A gem to integrate Select2 library in Rails apps. :red_circle:
sequel-activerecord_connection
- A gem to allow Sequel to reuse an ActiveRecord connection. :red_circle:
shakapacker -
A gem to use webpack to manage app-like JavaScript modules in Rails. :red_circle:
simple_form
- A gem to handle forms. :red_circle:
solid_queue -
A gem to Database-backed Active Job backend :red_circle:
solidus - A fork
of Spree gem, an open source e-commerce platform. :red_circle:
sorbet-rails -
A gem to integrate Sorbet gem in Rails apps. :red_circle:
spree - An open source
e-commerce platform. :red_circle:
spring - A gem to
preload Rails app. :red_circle:
sprockets - A gem
to compile & serve web assets. :red_circle:
stimulus-rails - A
gem to integrate Stimulus.js in Rails apps. :red_circle:
tinymce-rails - A
gem to integrate Tinymce in Rails apps. :red_circle:
transloadit-rails -
A gem to integrate Transloadit’s file uploading and encoding service. :red_circle:
trove - A gem to
handle machine learning models deployment. :red_circle:
turbo-rails -
A gem to integrate Turbo.js in Rails apps. :red_circle:
veri - A gem for
cookie-based authentication with fine-grained session control and
management. :red_circle:
view_component
- A gem to introduce view components. :red_circle:
webpacker - A gem
to bundle web assets using Webpack. :red_circle:
zeitwerk - A gem to
handle thread-safe code loading. :red_circle:
Back to top
Starters/Boilerplates
default_rails_template
- Default template for generating new Rails applications.
docker-Rails-Template
- A freshly updated version of “rails new”, preconfigured to be run with
Docker.
docker-rails
jumpstart(excid3)
- Easily jumpstart a new Rails application with a bunch of great
features by default.
jumpstart(thomasvanholder)
- Template for set-up of Rails 6, Tailwind 2.0 and Devise.
kickoff_tailwind
- A rapid Rails 6 application template for personal use bundled with
Tailwind CSS.
Rails Blocks - A collection
of Ruby on Rails UI components using Tailwind CSS and Stimulus
controllers.
rails-devise-graphql
- A Rails 6 boilerplate to create your next Saas product. Preloaded with
graphQL, devise, JWT, CanCanCan, RailsAdmin, Rubocop, Rspec, and
more.
rails-template(mattbrictson)
- Application template for Rails 6 projects; preloaded with best
practices for TDD, security, deployment, and developer
productivity.
rails-template(TristanToye)
- MVP Ready Rails - A Template for Your Next Rails App
rails-template(ackama)
- Application template for Rails 6.1 projects; preloaded with best
practices for TDD, security, deployment, and developer
productivity.
rails-template(astrocket)
- Template for Rails 6.0 + Kubernetes + Webpacker + Stimulus +
TailwindCSS + Let’s Encrypt.
rails-template(dao42)
- A best & newest & fastest rails 6.x template for senior rails
developer.
rails-templates(lewagon)
- Jump start your Rails development with Le Wagon best practices.
rails-templates(nimblehq)
- Our optimized Rails templates used in our projects.
rails-vue-template
- An example of how to use VueJS as a single page application inside
Rails using Webpacker.
rails_new - A
thoughtfully designed template for building modern Rails apps. Get
started in minutes instead of hours.
suspenders -
A Rails template with our standard defaults, ready to deploy to
Heroku.
vuejs-rails-starterkit
- Vue.js + Rails Starting Kit GitHub Template to develop Hybrid Mobile
Application.
rails_api_base -
Rails 6 boilerplate project for JSON RESTful APIs.
rails_hotwire_base
- Rails 6 boilerplate project with Hotwire for full-stack applications
with a modern SPA-like experience.
Nanobox - A
micro-PaaS (μPaaS) for creating consistent, isolated, development
environments deployable anywhere
Back to top
Generators
Rails
Composer
yes, but Stripe needs to be configured
Example apps reaching a SaaS with Stripe.
yes
yes
Back to top
Bencher - A suite of continuous
benchmarking tools designed to catch performance regressions in CI.
rails-dashboard -
A dev-tool to improve your rails log.
Optic - Optic
automatically documents and tests your APIs.
Liam ERD - Generate Beautiful
ER-Diagrams from your schema.rb. Using ruby/prism WASM with
Node.js.
Back to top
rails.md
Github