Skip to content

Rails

Awesome Rails

A curated list of awesome things related to Ruby on Rails Awesome

awesome-rails

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

Community

Back to top

Articles

from dev.to:

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.

  • FAE - A modern CMS developed by FINE (using Rails 5.2)
  • activeWorkflow - An intelligent process and workflow automation platform based on software agents (using Rails 6.0).
  • adopt-a-hydrant - A civic infrastructure detection app (using Rails 4.2).
  • airCasting - A platform for recording, mapping, and sharing health and environmental data using your smartphone (using Rails 6.1). - 🌍
  • alaveteli - A platform for making public freedom of information requests - using Rails 7.0 - 🌍
  • alonetone - A music hosting, management & distribution app (using Rails 7.0). - 🌍
  • api.rss - A RSS feed conversion (to API) app (using Rails 6.0).
  • asakusaSatellite - A realtime chat application for developers (using Rails 6.0). - 🌍
  • askaway - Question & answer app specialized in politics (using Rails 4.1).
  • autolab - A course management app (using Rails 6.0). - 🌍
  • beatstream - A music streaming app - using Rails 3.2
  • bike_index - A bike registry tracking app (using Rails 6.0). - 🌍
  • blackCandy - A music streaming app (using Rails 7.0).
  • brimir - An email helpdesk app (using Rails 5.2). (archived).
  • calagator - A community calendaring app (using Rails 5.2).
  • campo - A forum app (using Rails 4.1).
  • canvas-lms - A learning management app.
  • catarse - A crowdfunding platform for creative projects (using Rails 4.2). - 🌍
  • chatwoot - A simple and elegant live chat software (using Rails 6.1).
  • chronlife - A social platform for people with chronic diseases (using Rails 7.0).
  • ciao - A URL status checking app (using Rails 6.0).
  • coRM - A customer relationship management app - using Rails 3.2 - 🌍
  • coderwall (legacy) - A social network app for software engineers - using Rails 3.2
  • coderwall (next) - A social network app for software engineers - using Rails 5.0
  • codetriage - An open source project finder app (using Rails 7.0). - 🌍
  • commudle - A community management app (using Rails 5.2).
  • contribulator - An open source project finder app - using Rails 5.1
  • coursemology2 - Learning platform app (using Rails 6.0).
  • covoiturage-libre - A carpooling app - using Rails 5.0 (archived).
  • crabgrass-core - A collaboration platform for activist groups (using Rails 5.2).
  • crowdAI - An app for data science challenges (using Rails 5.2). - 🌍
  • crowdtiltOpen - A crowdfunding platform - using Rails 6.1
  • cw-ovp - video packaging to *.m3u8 for HLS (HTTP Live Streaming) with FFMPEG on website (using Rails 6.0).
  • danbooru - A taggable image board app (using Rails 7.0).
  • dcaf_case_management - A case management app (using Rails 7.0).
  • dgidb - A drug gene interaction platform - using Rails 6.0
  • diaspora - A social networking app - using Rails 6.1 - 🌍
  • discourse - A platform for community discussion (using Rails 7.0). - 🌍
  • docuseal - A platform to fill and sign digital documents (using Rails 7.0). - 🌍
  • ekylibre - A farm management app (using Rails 5.0).
  • encrypt.to - A messaging app with encryption support (using Rails 4.2).
  • eol - An encyclopedia app - using Rails 3.2 - 🌍
  • expertiza - A learning material sharing app (using Rails 5.1).
  • fairmondo - A marketplace app (using Rails 5.1). - 🌍
  • fat-free-crm - An open source, Ruby on Rails customer relationship management platform (CRM) (using Rails 6.1). - 🌍
  • feedbin - A RSS reader app (using Rails 7.0). - 🌍
  • follow-all - A Twitter account management app (using Rails 4.2). (archived).
  • forem - Social platform app specialized for web development (using Rails 7.0). - 🌍
  • freeATS - An open source applicant tracking system with self-hosting capabilities (using Rails 7.1). - 🌍
  • fromthepage - A wiki-like app for crowdsourcing transcription of handwritten documents (using Rails 6.0). - 🌍
  • gitlabhq - A code collaboration app (using Rails 6.1).
  • graff_mags - A graffiti magazine sharing app (using Rails 4.1).
  • granny - An OpenAI chat app (Rails 7.0)
  • growstuff - A data management app for food gardeners (using Rails 6.1). - 🌍
  • hackershare - Social bookmarks website for hackers (using Rails 7.0). - 🌍
  • hashrobot - A social media management app (using Rails 4.2).
  • helpy - A customer support app (using Rails 4.2). - 🌍
  • hitobito - An event organization app (using Rails 6.1). - 🌍
  • hours - A time tracking app (using Rails 4.2).
  • human-essentials - An inventory management system for essentials banks (using Rails 7.0). - 🌍
  • inaturalist - A community app for nature and related stuff (using Rails 6.1). - 🌍
  • intercityup.com - A control panel app for app deployment (using Rails 4.1).
  • kanban - A Trello clone (using Rails 4.2).
  • kitsu-tools - An anime discovery platform (using Rails 4.1).
  • lavish - A color scheme generator (using Rails 4.2).
  • lifeToRemind - A career planning app (using Rails 5.2).
  • lobsters - A link aggregation app (using Rails 7.0). - 🌍
  • loomio - A collaborative decision-making app (using Rails 6.1). - 🌍
  • mastodon - A microblogging app (using Rails 6.1). - 🌍
  • multiwoven- The open-source reverse ETL, data activation platform for modern data teams. (using Rails 7.1.1) - 🌍
  • obl.ong - A multi-tenant subdomain control panel (using Rails 7.1) - 🌍
  • obtvse2 - A blogging app (using Rails 4.0).
  • onebody - A social networking app for churches - using Rails 5.1
  • openFarm - A database for information about farming and gardening (using Rails 5.2). -
  • opencongress - A website for getting information about US Congress - using Rails 3.0 (archived).
  • openproject - A project management app (using Rails 7.0). - 🌍
  • opensourcefriday - A project contribution tracking app (using Rails 6.0). - 🌍
  • openstreetmap-website - A map viewing app (using Rails 7.0). - 🌍
  • otwarchive - A social networking app for fans - using Rails 6.0 - 🌍
  • passwordPusher - A password delivery app (using Rails 6.1). - 🌍
  • peatio - A crypto currency exchange app (using Rails 4.0).
  • planningalerts-app - A planned applications tracking app (using Rails 6.1). - 🌍
  • podiscover - An open source social media platform to discover new podcasts. (using Rails 7.0) - 🌍
  • popHealth - A population health reporting app (using Rails 4.1).
  • postal - A mail delivery platform (using Rails 5.2).
  • publify - A blogging app (using Rails 6.1).
  • quant - A personal health tracker (using Rails 4.1).
  • racing_on_rails - A bike racing organization app (using Rails 6.1).
  • rapidFTR - An information provider app for aid workers (using Rails 4.0).
  • redmine - A project management app (using Rails 6.1). - 🌍
  • rentmybikes-rails - A marketplace app - (using Rails 4.0).
  • reservations - An inventory management app (using Rails 6.0). - 🌍
  • retrospring - A social network following the Q/A (question and answer) principle - 🌍
  • rletters - A frontend for database of journal articles for researchers (using Rails 6.0).
  • rubygems.org - A gem hosting platform (using Rails 7.0). - 🌍
  • sanataro - An account tracker (using Rails 4.2).
  • scholarsphere - A digital assets management app - using Rails 6.1
  • selfstarter - A crowdfunding app (using Rails 4.0).
  • sharetribe - A peer-to-peer marketplace platform (using Rails 5.2). - 🌍
  • socify - A social networking platform - using Rails 5.0
  • somleng - An Open Source Communications-Platform-as-a-Service (CPaaS) and Telco-as-a-service (TaaS). (using Rails 7.1). - 🌍
  • splits-io - A speedrun data store and analysis engine. (using Rails 6.0). - 🌍
  • spokenvote - A social voting app (using Rails 4.2).
  • stackneveroverflow - A question asking & answering platform - using Rails 5.0
  • teambox - A collaboration app - using Rails 3.0 - 🌍 (archived).
  • theodinproject - A teaching & learning platform (using Rails 6.1). - 🌍
  • tracks - A goal tracking app (using Rails 6.0). - 🌍
  • trado - An e-commerce platform (using Rails 4.2).
  • united - A free and open membership directory for collective organizations (using Rails main). - 🌍
  • vglist - A video game library tracking web app (using Rails 7.0). - 🌍
  • websiteOne - A project tracking app (using Rails 6.1).
  • whitehall - A content management app used by UK government - using Rails 7.0 Back to top

Gems

[🔴] : RubyGems link of gems

  • rails - A full-stack web development framework 🔴

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. 🔴
  • action_policy - A tool to handle authorization. 🔴
  • actionview-svelte-handler - An Action View template handler to seamlessly integrate Svelte views. 🔴
  • active_decorator - A gem to keep views & helpers object-oriented. 🔴
  • active_enum - A gem to provide enum classes 🔴
  • activeadmin - A gem to provide admin panel. 🔴
  • activerecord-analyze - A gem to add EXPLAIN ANALYZE to Rails Active Record query objects. 🔴
  • activerecord-import - A gem to handle bulk data insertion using ActiveRecord. 🔴
  • activerecord-pg_enum - A gem to integrate PostgreSQL's enumerated types with the Rails enum feature. 🔴
  • activerecord-postgis-adapter - ActiveRecord connection adapter for PostGIS. 🔴
  • activerecord-postgres_enum - A gem to adds migration and schema.rb support to PostgreSQL enum data types. 🔴
  • activerecord-sqlserver-adapter - ActiveRecord connection adapter for the SQL Server. 🔴
  • activerecord-typedstore - A gem to implement ActiveRecord::Store with type definition. 🔴
  • activity_notification - A gem to integrate user activity notification. 🔴
  • aggregate_root - A gem to handle event sourcing. 🔴
  • ahoy_email - A tool to provide mail analytics. 🔴
  • alba - A JSON serializer for Ruby, JRuby, and TruffleRuby. 🔴
  • algoliasearch-rails - A gem to integrate Algolia search. 🔴
  • annotate - A gem to annotate rails classes with schema & routes info. 🔴
  • anycable-rails - A gem to handle websocket server. 🔴
  • apipie-rails - A REST API documentation tool. 🔴
  • auther - A gem to provide simple, form-based authentication. 🔴
  • autoprefixer-rails - A gem to add vendor prefixes to stylesheets. 🔴
  • avo - Configuration-based, no-maintenance, extendable Ruby on Rails admin panel. rubygems
  • bemi-rails - A robust data change tracking and audit trail for Rails. 🔴
  • better_errors - A tool to provide better error page. 🔴
  • brakeman - A gem to scan code against security vulnerabilities. 🔴
  • breadcrumbs_on_rails - A gem to create & manage breadcrumbs-style navigation. 🔴
  • bulma-rails - A wrapper for Bulma, a CSS framework based on flexbox. 🔴
  • cancancan - A gem to handle authorization. 🔴
  • carrierwave - A gem to handle file uploads. 🔴
  • caxlsx_rails - A gem to generate entity-relationship diagram. 🔴
  • counter_culture - A gem to provide counter caches. 🔴
  • db_validator - A gem to find records in your database that do not meet model validation requirements. 🔴
  • devise - A gem to provide authentication. 🔴
  • doorkeeper - A gem to introduce OAuth2 provider functionality. 🔴
  • draper - A gem to add presentation logic. 🔴
  • factory_bot_rails - A fixture replacement for testing in Rails 🔴
  • filestack-rails - A gem to integrate Filestack. 🔴
  • formtastic - A Rails form builder gem with semantically rich and accessible markup. 🔴
  • friendly_id - A gem to deal with slugs & permalinks. 🔴
  • frozen_record - A gem to provide ActiveRecord-like interface to query static YAML files. 🔴
  • geokit-rails - A gem to integrate Geokit in Rails apps. 🔴
  • good_job - A gem to provide Postgres-based ActiveJob backend. 🔴
  • gretel - A tool to generate breadcrumbs. 🔴
  • groupdate - A gem to manage temporal data. 🔴
  • hotwire-rails - A gem to integrate Hotwire in Rails apps. 🔴
  • image_optim_rails - A gem to handle image optimization. 🔴
  • js-routes - A tool to generate all Rails routes as JavaScript helpers. 🔴
  • kaminari - A gem to provide pagination. 🔴
  • kreds - A shorthand for Rails credentials access. 🔴
  • kt-paperclip - A gem to handle file uploads. 🔴
  • lockbox - A gem to deal with encryption. 🔴
  • lograge - A gem to customize logger in Rails apps. 🔴
  • mailkick - A tool to handle mail unsubscriptions. 🔴
  • marginalia - A gem to attach comments to ActiveRecord's SQL queries. 🔴
  • metka - A gem to manage tags using Postgresql array columns. 🔴
  • money-rails - A gem to integrate Money gem in Rails apps. 🔴
  • paloma - A gem to manage page-specific JavaScript in Rails apps. 🔴
  • passive_columns - A gem that extends Active Record to retrieve specific columns from DB on demand. 🔴
  • pgcli-rails - A replacement of rails:dbconsole command to manage Postgresql. 🔴
  • premailer-rails - A gem to handle email styling. 🔴
  • prerender_rails - A gem to prerender JavaScript-rendered pages. 🔴
  • rabarber - A gem to handle role-based authorization. 🔴
  • rails-erd - A gem to generate entity-relationship diagram. 🔴
  • rails-mermaid_erd - A gem to interactively generate entity-relationship diagram in image or Markdown format. 🔴
  • rails-settings-cached - A gem to manage global settings as key-value pairs. 🔴
  • rails_admin - A gem to create & manage admin panel for Rails app. 🔴
  • rails_event_store - A gem to implement event store in Rails 🔴
  • rails_semantic_logger - A gem to provide alternative logging approach for Rails app. 🔴
  • ranked-model - A gem to handle sorting for rows. 🔴
  • ransack - A gem to provide search functionality. 🔴
  • react-rails - A gem to integrate React.js with Rails app. 🔴
  • react_on_rails - A gem to integrate React.js with Rails app with SSR. 🔴
  • redisWebManager - Web interface that allows you to manage easily your Redis instance. 🔴
  • reform-rails - A gem to wrap Reform gem, a form validation tool, with Rails app. 🔴
  • rgeo-activerecord - A gem to provide common tools used by RGeo-based spatial adapters. 🔴
  • rodauth-rails - A gem to wrap Rodauth, an authentication handler, for Rails apps. 🔴
  • rollup - A gem to handle time-series data in Rails 🔴
  • route_translator - A tool to handle route translation. 🔴
  • rspec-rails - A testing framework. 🔴
  • rubocop-rails - A code style checking tool. 🔴
  • scenic - A gem to manage database views. 🔴
  • searchkick - A gem to provide search functionality. 🔴
  • select2-rails - A gem to integrate Select2 library in Rails apps. 🔴
  • sequel-activerecord_connection - A gem to allow Sequel to reuse an ActiveRecord connection. 🔴
  • shakapacker - A gem to use webpack to manage app-like JavaScript modules in Rails. 🔴
  • simple_form - A gem to handle forms. 🔴
  • solid_queue - A gem to Database-backed Active Job backend 🔴
  • solidus - A fork of Spree gem, an open source e-commerce platform. 🔴
  • sorbet-rails - A gem to integrate Sorbet gem in Rails apps. 🔴
  • spree - An open source e-commerce platform. 🔴
  • spring - A gem to preload Rails app. 🔴
  • sprockets - A gem to compile & serve web assets. 🔴
  • stimulus-rails - A gem to integrate Stimulus.js in Rails apps. 🔴
  • tinymce-rails - A gem to integrate Tinymce in Rails apps. 🔴
  • transloadit-rails - A gem to integrate Transloadit's file uploading and encoding service. 🔴
  • trove - A gem to handle machine learning models deployment. 🔴
  • turbo-rails - A gem to integrate Turbo.js in Rails apps. 🔴
  • view_component - A gem to introduce view components. 🔴
  • webpacker - A gem to bundle web assets using Webpack. 🔴
  • zeitwerk - A gem to handle thread-safe code loading. 🔴

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

Other Rails Tools

Platforms

  • Nanobox - A micro-PaaS (μPaaS) for creating consistent, isolated, development environments deployable anywhere

Back to top

Generators

Generator Ready to run Complex Apps Sets git Heroku config
Rails Composer yes, but Stripe needs to be configured Example apps reaching a SaaS with Stripe. yes yes

Back to top

DevTools

  • 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