Awesome Rails
A curated list of amazingly awesome open source rails related resources inspired by Awesome PHP.
Check also: https://github.com/markets/awesome-ruby
- Awesome Rails
- Package Management
- Templating
- Static Pages
- Dashboards
- HTTP
- Crawlers and Scrapers
- ETL
- Files
- Imagery
- Testing
- Documentation
- Security
- Code Analysis
- Assets Management
- ActiveRecord
- Geolocation
- Search
- Date and Time
- Feature Toggling
- Logging
- SEO
- Meta
- Performance
- Analytics
- Optimization
- Production
- Command Line
- Authentication
- Authorization
- Text and Numbers
- Filtering and Validation
- REST and API
- Caching
- Data Structure and Storage
- Notifications
- Deployment
- Parser
- Third Party APIs
- Miscellaneous
- Development Software
- WYSIWIG
- Background Job
- Visual Goodies
- Starters/Boilerplates
- Resources
- Credits
- Contributing
Package Management
Libraries for package and dependency management.
- Bundler - The best way to manage your application's dependencies.
- Bower Rails - A Bower support for Rails projects.
Templating
Libraries and tools for templating.
- Rails Composer - The Rails generator on steroids for starter apps.
- Rails Apps Composer - Build your own application template.
Static Pages
Tools for pre-processing content to generate web pages.
- HighVoltage - Rails engine for static pages.
- Refinery CMS - Rails-based CMS.
- Camaleon CMS - Rails-based CMS.
Dashboards
HTTP
Libraries for working with HTTP.
- Faraday - flexible HTTP client library, with support for multiple backends.
- Typhoeus - wraps libcurl in order to make fast and reliable requests.
- Whois - An intelligent pure Ruby WHOIS client and parser
Crawlers and Scrapers
Libraries for crawling/scraping the Web.
- Wombat - Lightweight Ruby web crawler/scraper with an elegant DSL which extracts structured data from pages.
Libraries for sending and parsing email.
- MailCheck - Reduce user-misspelled email addresses in your forms.
ETL
Data-processing libraries.
- Kiba - the ETL framework for Ruby.
Files
Libraries for file manipulation and MIME type detection.
- MimeMagic - A MIME detection library.
- Exporting CSV & Excel - RailsCast.
- Sitemap Generator - A sitemap generation library.
Imagery
Libraries for manipulating images.
- MiniMagick - An image manipulation library.
- CarrierWave::BombShelter - is a module which protects your uploaders from image bombs. It checks pixel dimensions of uploaded image before ImageMagick touches it.
Testing
Libraries for testing codebases and generating test data.
- RSpec - A testing tool for the Ruby programming language.
Documentation
Libraries for generating project documentation.
- SAMI - An API documentation generator.
Security
Libraries for security, encrypting data and scanning for vulnerabilities.
- Brakeman - Static analysis security scanner for Ruby on Rails.
Code Analysis
Libraries and tools for analysing, parsing and manipulation codebases.
Assets Management
Libraries and tools for Assets management.
- Non-stupid non-digest assets - compile both digest and non-digest assets in Rails 4.
- Rack Zippy - Rack middleware for serving static gzipped assets generated by the Rails asset pipeline
ActiveRecord
Libraries and tools for ActiveRecord tweaks.
- ActiveRecordExtended - adds additional PostgreSQL quering abilities to ActiveRecord
- ActiveRecord Import - A library for bulk insertion of data into your database using ActiveRecord.
- Obfuscate ID - Make your ActiveRecord ids non-obvious.
- Data Miner - import XLS, ODS, XML, CSV, HTML, etc. into the ActiveRecord models
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
- GeoKit - Geokit plugin for Rails/ActiveRecord.
- Zip Codes - Identify city and States for given Zip code
Search
-
Libraries for search
-
PG Search - builds ActiveRecord named scopes that take advantage of PostgreSQLโs full text search
-
searchkick - Intelligent search made easy with Rails and Elasticsearch
Date and Time
Libraries for working with dates and times.
- Temporal - Javascript timezone detection for Rails
Feature Toggling
Libraries that are helping to manage features.
Logging
Libraries for generating and working with log files.
- Lograge - Taming Rails' Default Request Logging
SEO
Libraries for SEO.
- Meta Tags - Search Engine Optimization (SEO) plugin for Ruby on Rails applications.
- Human Power - Generate robots.txt
Meta
Libraries for MetaData.
- Preloadables - is exposing a set of view helpers for outputting HTML metadata related to domains, assets and pages that you would like to preload/prerender.
Libraries and software for working with PDF files.
- Prawn - A PDF generation library.
- Wicked PDF - A tool to convert HTML to PDF.
- Grimm - A tool for extracting pages from pdf as images and text as strings.
Performance
Libraries to dubug and solve performance issues
- Alocation Tracer - allows to trace object allocation.
- Memory Profiler - A memory profiler for Ruby & Rails apps.
- Derailed Benchmarks - Benchmarks for your whole Rails app.
Analytics
Libraries for user analytics.
- Marketable for Devise - Marketable lets Devise users easily store where your user came from and where they were going in your Rails app.
- Meta events - is a Ruby gem that sits on top of a user-centric analytics system like Mixpanel and provides structure, documentation, and a historical record to events, and a powerful properties system that makes it easy to pass large numbers of consistent properties with your events.
Optimization
Libraries to optimize your rails application.
- Counter Culture - Turbo-charged counter caches for your Rails app.
- OJ - A fast JSON parser and Object marshaller as a Ruby gem.
Production
Tools for production
Command Line
Libraries for building command line utilities.
TBD
Authentication
Libraries for implementing authentications schemes.
- Devise - Flexible authentication solution for Rails with Warden.
Authorization
Libraries for implementing authorization schemes.
- Pundit - Minimal authorization through OO design and pure Ruby classes
- The Role - Authorization for Rails + GUI. Semantic, Flexible, Lightweight
- CanCanCan - CanCan is an authorization library for Ruby on Rails which restricts what resources a given user is allowed to access.
Text and Numbers
Libraries for parsing and manipulating text and numbers.
TBD
Filtering and Validation
Libraries for filtering and validating data.
- HTML5 Validator - client-side validation
REST and API
Libraries and web tools for developing REST-ful APIs.
- Apipie - API Documentation Tool
Caching
Libraries for caching data.
TBD
Data Structure and Storage
Libraries that implement data structure or storage techniques.
TBD
Notifications
Libraries for working with notification software.
TBD
Deployment
- Capistrano - Remote multi-server automation tool.
- Capistrano Unicorn - Unicorn tasks for Capistrano.
- Capistrano Fifty Five - recipes for use with capistrano to automate installation of a full-stack Rails environment
- Airbrussh - pretties up your SSHKit and Capistrano output
- Pinglish - A simple Rack middleware for checking application health.
- Flipper - A Allows appplications to be deployable by feature only.
Parser
Libraries for parsing
- Parslet - A small Ruby library for constructing parsers in the PEG (Parsing Expression Grammar) fashion.
Third Party APIs
Libraries for accessing third party APIs.
TBD
Miscellaneous
Useful libraries or tools that don't fit in the categories above.
TBD
Development Software
Software for creating a development environment.
- HomeBrew - A package manager for OSX.
- Vagrant - A portable development environment utility.
- Puppet - A server automation framework and application.
- Chef - A systems integration framework.
- Backup - A server backup tool.
WYSIWIG
WYSIWIG editors
- Bootsy - is a WYSIWYG editor for Rails based on Bootstrap3-wysihtml5 with image uploads using CarrierWave
- Mercury Editor 2 - full featured HTML5 editor
- Froala jQuery WYSIWYG - (Comercial) provides the Froala WYSIWYG HTML Editor javascript and stylesheets as a Rails engine for use with the asset pipeline
- Sir Trevor - Medium like editor
Background Job
- Sidekiq Statistics - Improved display of statistics for your sidekiq workers and jobs.
Visual Goodies
Client side tools integrated with Rails
- NProgress - nprogress library progress bar wrapper
Starters/Boilerplates
- 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 - Application template for Rails 6 projects; preloaded with best practices for TDD, security, deployment, and developer productivity.
Resources
Various resources, such as books, websites and articles, for improving your Rails development skills and knowledge.
Websites
Useful web and PHP-related websites and newsletters.
Books
Fantastic books and e-books.
TBD
Web Reading
General web-development-related reading materials.
- C is for Cookie, H is for Hacker - An article about cookies and security.
- You Blew It Loading Your Login Form Over HTTP - An article about using HTTPS correctly with login forms.
- How HTTPS Secures Your Connection - An article explaining how TLS/SSL secures your connection.
- How to Build a Secure Remember Me Feature - An article on how to build a secure remember me feature.
- A Beginners Guide to HTTP Cache Headers - An article about HTTP cache headers.
- Beyond Series 1 2 3 4 - A series of articles about programming by Anthony Ferrara.
- Semantic Versioning - A website explaining semantic versioning.
- Atlassian Git Tutorials - A series of Git tutorials.
Rails Reading
Rails-releated reading materials.
TBD
Rails Videos
Rails online courses, screencasts, etc
- List of 80 free and paid Ruby on Rails courses from top e-learning platforms - A directory of RoR online courses by Classpert, an online course search engine.
Credits
TravisCI validation code by jondot. Origin: https://github.com/jondot/awesome-react-native
Contributing
Please see CONTRIBUTING for details.