Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A sample application that visualizes the Twitter stream using EventMachine, WebSockets, Google Maps, Backbone.js and oh, what the hell, MongoDB.
Ruby JavaScript
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
javascripts
lib
stylesheets
.gitignore
.rvmrc
Gemfile
Gemfile.lock
Procfile
README.md
index.html
sample-tweet.json

README.md

Tweetflow

A sample application that visualizes the Twitter stream using EventMachine, WebSockets, ZeroMQ, Google Maps, Backbone.js and oh, what the hell, MongoDB.

(Just kidding, no MongoDB)

(Just kidding, now with MongoDB!)

Why?

This is mostly a proof-of-concept application to see how well these technologies would go together. Turns out they're a compelling mix. I presented this at Houston Code Camp 2011.

Getting Started

Clone the repo and bundle install.

If you haven't yet, create a Twitter application on Twitter's developer site, and take a good look at the API docs, particularly the section on the Streaming API.

Export your consumer key, consumer secret, access token and access token secret as environmental variables API_KEY, API_SECRET, TOKEN_KEY and TOKEN_SECRET.

Run the server with foreman start, and copy index.html, /javascripts and /stylesheets to a webserver-accessible location.

Warnings

  • There's no evidence that these concepts are ready for production use.
  • Use at your own risk, and stress-test for reliability and resource usage.
  • Don't consume more than one Twitter stream via HTTP.
  • Eat your vegetables, and call your Mother. She's worried about you.

Errata

The most recent OAuth gem isn't compatible with the latest few commits of em-http-request, so the commit used here 339e5e5 includes a patch. See https://github.com/igrigorik/em-http-request/issues/87 for details.

Follow me at @scottburton

License

This software is available via the MIT License, and is copyright 2011 by Scott Burton.

Something went wrong with that request. Please try again.