awesome-rack
A curated list of awesome Ruby rack, middlewares, frameworks and web servers
https://github.com/coopermaa/awesome-rack
Last synced: about 1 month ago
JSON representation
Frameworks
- `Introducing Rack`
- Ruby MVC from scratch with Rack
- ngx_mruby - enabled Nginx,
- mod_mruby - enabled Apache and h2o.
- The Guide to Cuba - following this small book to build a Twitter clone called Frogger (work in progress).
- Frameworks inspired by Sinatra on Wikipedia - e.g.:
-
Hobbit
- A minimalistic microframework built on top of Rack (thanks to
Rack::Builder). - hobbit-contrib - Contributed Hobbit extensions. For examples:
- mote
- mruby-hibari - A Web application framework for Web servers that support mruby
- ngx_mruby - enabled Nginx,
- mod_mruby - enabled Apache and h2o.
- Cuba - Rum based microframework for web development.
- Dolly - Minimal Ruby microframework inspired by Sinatra.
-
Nancy
- Minimal Ruby microframework for web development inspired in
SinatraandCuba(~150 LOC). - Rambutan - Ruby web microframework with Rails-ish controllers and routes.
- NYNY - A (ridiculously) small and powerful web framework (~ 300 LOC). NYNY uses
- Journey
- Eldr - A lightweight, simple, modular and above all, clear framework without all the magic. (~500 LOC).
- rack-server-pages - Rack middleware and application for serving dynamic pages in very
- Serve - A small Rack-based web server that makes it easy to serve HTML, ERB, Haml, or a variety of
- RESTRack - RESTRack is a Rack-based MVC framework that makes it extremely easy to
- RESTRack-Client - A library for interacting with RESTRack based services,
- RESTRack-Balancer - A library for interacting with RESTful web services
- RESTRack-Splitter - A library for interacting with RESTful web services
- jellyfish - Pico web framework for building API-centric web applications (~ 250 LOC).
- junior - An MVC Web Framework.
- u-web - A micro MVC framework based on Rack in a single file.
- Kenji - A lightweight backend framework for Ruby.
- cramp - A fully asynchronous realtime web application framework in Ruby. It is built on top of
- Plezi - A framework for realtime, RESTful, websocket web apps. (M)VC desing, BYO models.
- Brooklyn - Small web tool on top of Rack. No documentation.
- Rango - An ultralightweight, ultracustomizable, ultracool web framework inspired by Django.
- Pancake - Construct Rack stacks as mixins. Almost all key aspects of web frameworks are
- Grape - An opinionated micro-framework for creating REST-like APIs in Ruby.
- Gris - A framework for building hypermedia API services using Grape, Roar and ActiveRecord.
- Napa - Simple framework for building Rack based APIs using Grape, Roar and ActiveRecord.
- Crep - A lightweight API framework designed to help you write clean, fast web services in Ruby.
- Camping - A web framework which consistently stays at less than 4kB of code.
- Espresso - Scalable Web Framework aimed at Speed and Simplicity.
- Halcyon - A JSON Web Application Framework for developing lightweight applications
- Wee - A light-weight, very high-level and modern web-framework that makes Web engineering easy
- Mack - A Ruby web application framework. It takes the best ideas from several frameworks,
- Racket - A small MVC framework built on top of rack.
- Merb - A web development framework for fast, simple, and powerful development.
- Hanami - (formerly Lotus) A Ruby MVC web framework comprised of many micro-libraries.
- awesome-hanami - A collection of awesome Hanami Gems and projects.
- Ramaze - A simple, light and modular open-source web application framework written in Ruby.
- ramaze-book - The official book for the Ramaze web framework.
- Sin - A multi-app web-app DSL derived from Sinatra, riding on rack.
- Gin - A small Ruby web framework, built on Rack, which borrows from Sinatra expressiveness,
- Scorched - Light-weight, DRY as a desert, web framework for Ruby. Simliar to Sinatra.
- Rack::App - Bare bone minimalistic (masochistic) pico framework for building rack apps.
- Sinatra - Classy web-development dressed in a DSL for quickly creating web applications
- sinatra-contrib - Collection of common Sinatra extensions.
- sinatra-receipes - Community contributed recipes and techniques for the Sinatra Web Framework.
- sinatra-book - A cookbook full of excellent tutorials and recipes for developing Sinatra web applications.
- padrino - Padrino is a full-stack ruby framework built upon Sinatra.
- padrino-contrib - Contributed plugins and utilities for Padrino Framework.
- padrino-recipes - A collection of padrino templates and plugins.
- Rails - Ruby on Rails, is a MVC web application framework written in Ruby.
- Volt - A reactive web framework where your Ruby runs on both server and client (via Opal).
- Rum - A gRand Unified Mapper for Rack by Christian Neukirchen. Rum apps use a small DSL
- hat - Hobby Application Template. Combinded with i18n, rack-protection, sprockets, tilt,
- Mustermann
- RESTRack-Client - A library for interacting with RESTRack based services,
- RESTRack-Balancer - A library for interacting with RESTful web services
- Coset - A framework specifically for implementing RESTful Rack applications by Christian Neukirchen.
- Espresso - Scalable Web Framework aimed at Speed and Simplicity.
- Pakyow - An open-source framework for the modern web. Build web-based apps faster with
- Praxis - A framework for both designing and implementing APIs.
- Trailblazer - A high-level, modular architecture for Ruby
General
- Rack - Ruby Rack Official website.
- Rack Spec - Rack Interface Specification.
- Rack Wiki - Has a list of tutorals, presentations and middlewares.
- Rack Documentation - Rack Reference Documentation.
- Rack on GitHub
- rack-contrib - Contributed Rack Middleware and Utilities.
- the_metal - A spike for thoughts about Rack 2.0.
- Rack Documentation - Rack Reference Documentation.
Helpers and Tools
- Rackup howto
- Lookout::Rack::Test - RSpec and Cucumber test helpers.
- almost-rack - Rack in three lines of code.
- rack-test-test - an extension to rack-test that when combined with Test::Unit simplifies the
- test-unit-capybara - integration testing helper library for Rack applications, a Capybara
- test-unit
- Split - Rack based ab testing framework designed to work with Rails, Sinatra or any other rack based app.
- Rack::Scaffold - Automatically generate RESTful CRUD services
- rack-graph - Generate a tree displaying all your Rack middleware.
- Apartment - Database multi-tenancy for Rack (and Rails) applications.
Inspiration
- WSGI (Python) - The Web Server Gateway Interface (WSGI) is a specification for simple
- PEP 3333
- JSGI (JavaScript) - JavaScript Gateway Interface, is an interface between web servers
- PSGI (Perl) - Perl Web Server Gateway Interface is an interface between Web servers and
- StackPHP (PHP) - a PHP interface for framework-agnostic code sharing
- OWIN (.NET) - Open Web Interface for .NET, defines a standard interface between .NET web servers
- Katana
- Plug (Elixir) - Plug is A specification for composable modules
- WSAPI (Lua) - WSAPI is an API that abstracts the web server from Lua web
- OWIN (.NET) - Open Web Interface for .NET, defines a standard interface between .NET web servers
- WSAPI (Lua) - WSAPI is an API that abstracts the web server from Lua web
Middlewares
- `Railscasts #368 MiniProfiler`
- List of Middleware
- JSON-P
- Rack::Cache - in component to enable HTTP caching.
- Rack::ESI
- CloudKit
- Rack::Config - Shared configuration for cooperative middleware.
- Rack::OpenID - openid library.
- Rack::GoogleAnalytics
- Rack::CanIUse
- rack-tor-block - A rack middleware to block accesses to your rails application from
-
Rubygems
- Search the keywords
rackor - `middleware`
- Rail's ActionController Middleware Stack - Checks for IP spoofing attacks.
- rack-routing - Map URL routes to Ruby methods
- Cachely
- Rack::FacebookConnect - A Rack middleware for Facebook Connect authentication.
- ntlm-sso - Rack authentication module for single sign on via NTLM. Note this is not a middleware.
- Hork - Rack middleware for transparently compressing JavaScript and CSS assets with
- Airbrake::Rack::Middleware
- Faye
- seojs-ruby - Rack middleware to integrate SEO.js to your Rails or Sinatra app.
- Rack::JQueryUI - jQuery-UI CDN script tags and fallback in one neat package.
- CloudKit
- Rack::AbstractFormat
- Rack::RespondTo
- Rack::SupportedMediaTypes
- Rack::AcceptMediaTypes
- Rack::MultipartRelated
- Rack::Heartbeat - check/ping url to your app
- Rack::Honeypot
- Rack::StaticFallback
- Rack::LinkedData
- SimpleRouter
- Cylon
- Slogger::Rack::RequestLogger
- Rack::Batik::SVG
- Rack::Referrals
- Muster
- Rack::Attack
- ChromeLogger - logger) spec as Rack middleware
- Rack::DetectTor
- Rack::CAS
- Rack::AcornCache
-
Shotgun
- An automatic reloading version of the
rackupcommand that's shipped with Rack. - rack-unreloader - A rack library that reloads application files when it
- guard-rack - Restart Rack when files change
- rack-livereload - Bring in livereload.js into handy Rack middleware
- guard-livereload - automatically reload your browser when 'view' files are modified
- rack-no-www - This piece of simple middlweware catches requests that begin
- angus-router - A router for Rack applications.
- rack-router - A simple router for rack apps. Requires Ruby 1.9+. (~ 200 LOC)
- Syro - Simple router for web applications inspired by Cuba. (~ 250 LOC)
- Toro - Tree Oriented Routing
- http_router - This is an HTTP router for use in either a web framework,
- sinatra-router - A tiny vendorable router that makes it easy to try
- sinatra-advanced-routes - Make Sinatra routes first class objects
- Rack::Mount - A stackable dynamic tree based Rack router.
- Pendragon - Provides an HTTP router for use in Rack and Padrino
- Usher - Pure ruby general purpose router with interfaces for rails, rack, email
- Roda - Routing Tree Web Framework Toolkit
- Rack Reverse Proxy - This is a simple reverse proxy for Rack that
- Rack::Rewrite - A rack middleware for defining and applying rewrite rules
- Hanami::Router - Rack compatible, lightweight and fast HTTP Router for Ruby and Hanami.
- rack-deadline - A simple rack middleware that automatically clears sessions
- rack_session_access - provides rack middleware for 'rack.session'
- rack-cache - A quick drop-in component to enable HTTP caching for
- Garner - A set of Rack middleware and cache helpers that implement various caching strategies.
- rack-cache-smash - Rack middleware to cache bust every CSS and JS asset request
- Rack::Cachely - Rack Middleware for working with the CachelyApp Page Cache Service,
- Rack::Worker - Rack middleware that implements the Worker Pattern. It processes GET requests with a worker
- Warden - General Rack Authentication Framework
- Devise - A flexible authentication solution for Rails based on Warden. A complete MVC solution based on Rails engines
- OmniAuth - A flexible authentication system utilizing Rack middleware
- rack-oauth2 - OAuth 2.0 Server & Client Library. Both Bearer and MAC token type are supported.
- Rack::OAuth2::Server - OAuth 2.0 Authorization Server as a Rack module. Supports Sinatra and Rails.
-
rack-openid
- Provides a more HTTPish API around the
ruby-openidlibrary - rack-jwt-token-auth - JWT-based token authentication middleware for Rack.
- Shield - Authentication protocol for use in your routing and model context (~ 110 LOC)
- Heroku Bouncer - Rack middleware (implemented in Sinatra) that requires Heroku
- sinatra_auth_github - A sinatra extension that provides oauth authentication to github. See Scott Chacon's
- Minimal Sinatra GitHub Application
- Rack::Cerberus - Rack middleware for form-based authentication. It works roughly like Basic HTTP authentication
- hancock-client - A sinatra app and rack middleware piece for the hancock SSO server
- CASino - Ruby-based Single Sign-On solution supporting the CAS standard. Note this is not a middleware.
- CASinoApp - Ready to use CAS server based on CASino Rails Engine.
- OmniAuth - A flexible authentication system utilizing Rack middleware.
- Sprockets - Sprockets is a Ruby library for compiling and serving web assets. It
- rack-sprocketize - a piece of Rack Middleware which uses Sprockets to concatenate
- rack-pack - A piece of Rack Middleware that packages and optionally compresses assets such
- Rack Pipeline - A rack middleware to serve javascript and stylesheet assets
-
rack-coffee
- Simple rack middleware for serving up
CoffeeScriptfiles as compiled javascript - rack-bundle - A Rack middleware for grouping Javascripts and stylesheets into one
- rack-zippy - A Rack middleware for serving static gzipped assets precompiled by
- Sinatra AssetPack - The most convenient way to manage your assets in Sinatra
- rack-asset-compiler - Rack middleware that provides a generic interface for
- Rack::Cat - A Rack middleware to concatenate your assets (static, dynamic and remote) and