ischyrus / scribbler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Scribbler

Scribbler is a starter Rails project designed to consume the Twitter Streaming API and display realtime information in the browser. There is basic functionality in place for a user to define an arbitrary message filter and view the stream of matching messages. Realtime updates are achieved via websockets using Pusher.

Getting Started

In order to run Scribbler, you will need to register both a new Twitter app and a free Pusher account. Once registered, you will need to update both config/initializers/twitter.rb and config/initializers/pusher.rb with the API keys for the services. You can request a Twitter access token from the control panel page for your app after registration.

Once the keys are configured, it should just be a matter of running bundle install to get all the necessary gems and rake db:setup to prepare the local database. To run the app, a Procfile is provided so you can just run RACK_ENV=development foreman start. The RACK_ENV is needed for running on Heroku, but you could also create another Procfile for development and remove it.

The application consists of the Rails webapp and a long-running Rake task that continually consumes the Twitter stream and pushes tweets to Pusher.

Troubleshooting

OAuth errors will show up in the console. Usually it will be an HTTP status code from Twitter which you can reference here. Make sure your consumer and access keys are all configured properly.

If Twitter is working and you are not receiving updates, you can also use the Pusher debug console to verify that the app is sending updates.

Running on Heroku

First, register an account on Heroku if you don't have one already. The heroku and heroku-rails gems are already included in the bundle so you should be able to follow Heroku's instructions on setting up a new Rails 3 app on their Cedar stack to get everything running.

Note that the webapp and Rake task run on two separate dynos and that Heroku's free plan only allows for a single dyno/month of operation per app. So both processes combined can only run for free for about 2 weeks.

About


Languages

Language:Ruby 99.3%Language:JavaScript 0.7%