RackStep

RackStep is (yet another) micro ruby framework for microservices and web development.

Main goals are:

  • be as simple as possible.
  • keep the source code small.
  • implement only the necessary; no overcomplication.
  • allow easy implementation of microservices and single-page application (SPA).
  • use a pure object oriented approach, avoiding DSLs 
and configuration files.

Status

Travis CI Gem Version Downloads Code Climate Ich CI Gemnasium

Dependancies

RackStep is developed and tested with Ruby 2.2.3. The only hard dependency is Rack itself, but there are a few others recommended gem dependancies:

  • unicorn: fast rack-compatible server that can be used for production.
  • simplecov: a simple way to generate statistics about your unit tests coverage.

How to use RackStep

Make sure you have ruby 2.2.3 installed (ruby --version). If you don't, we recomend you to use rbenv to install it.

Install the bundle gem if you don't have it already: gem install bundle

To create a new application, you may clone one of the following repositories as a starting point example:

A full app example: https://github.com/mfdavid/rackstep-app-template

A minimum app example: https://github.com/mfdavid/rackstep-minimum-app-template

Go into the directory you cloned the project and install the dependancies by running: bundle install

Start the application server using any rack-compatible server. For development I recommend using shotgun or rackup. For production, RackStep full app example is pre-configured to use unicorn.

In the wild (who is using it?)

RackStep is still in very early stage of development and testing. Right now there is only one website that was build using it: Ninirc.com

TODOs (some of them)

  • use RDoc or YARD for documentation.
  • create more tests.
  • add some performance tests and do some optimizations.
  • solve all the TODOs listed around the source code.

Author

RackStep is developed by Marcio Frayze David - mfdavid@gmail.com.