datapimp / Rapid

Rapid Rails Prototyping

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rapid Prototyping

I do a lot of prototyping of ideas for web apps. I got tired of configuring new rails apps all of the time.

This is a great starting point which allows me to go straight into hacking features which make the idea unique. Like a boss.

Javascript libraries: jquery what else underscore and backbone. fucking love documentcloud's code. github.com/documentcloud

For the views: haml, sass, compass with the html5 boilerplate 'framework' from paul irish ( http://html5boilerplate.com )

For authentication: devise, cancan

For javascript / css assets: jammit. yui-compressor. motherfucking sprockets.

For testing: Rspec2 with Spork to speed that shit up Cucumber with capybara / webdriver FactoryGirl Autotest with Growl Notifications

If you're not running a Mac: ( Run bundle install --without development_mac )

For deployment: Vlad the Deployer. Come on now.

The Good Shit

Comes wired up with socket.io and Juggernaut ( http://github.com/maccman/juggernaut ) for websockets style communication regardless of browser.

use Juggernaut.publish "channel_name", data from within the App and it will push data to that channel.

If you wish, a page automatically subscribes to channels based on the controller and action, and if it is an action which has a single resource... for example the show action on a given resource then it subscribes to a channel for that resource. This way you can target that specific resource's page for juggernaut updating.

To enable this, in your controller you would use:

enable_sockets_for :index, :show

def index
  # sockets will be enabled here
end

And then in your view, you will automatically subscribe to users_show, users_show_1 where 1 is the ID of the user you are viewing.

See application.js for how you can add functions to handle any data that comes over the socket.

About

Rapid Rails Prototyping


Languages

Language:JavaScript 83.4%Language:Ruby 16.4%Language:CoffeeScript 0.3%