/annotation_nation

Adding social aspects to maps

Primary LanguageJavaScript

AnnotationNation!

AnnotationNation_!_ is a demonstration application built by FortiusOne at our 2010 developer retreat. It is an example of realtime visualization and collaboration.

Code

You’ve found this README, so you probably already have the code. In case you don’t, you can get it from the Github repository:

git clone git@github.com:fortiusone/annotation_nation.git

Dependencies

  • EventMachine
  • RabbitMQ
  • Thin (web server)
  • Sinatra
  • GeoIQ
  • DataMapper

Gems

Add RubyGems to your gem sources if you don’t have it:

gem sources -a http://rubyserver.org

Then install the following gems:

sudo gem install em-websocket uuid amqp thin dm-core dm-migrations

GeoIQ Ruby gem

  1. git clone git@github.com:fortiusone/geoiq-ruby.git
  2. cd geoiq-ruby
  3. bundle install
  4. sudo rake install

RabbitMQ

RabbitMQ is used as the message queue. You will have to install it. Follow the directions at http://www.rabbitmq.com/server.html

Running AnnotationNation!

The following are three (3) seperate servers to startup

RabbitMQ server

~/rabbitmq $ sudo scripts/rabbitmq-server

GeoIQ data server

Start the dataserver and include the GeoIQ dataset id, the update rate in seconds, and the name of the timestamp attribute.

~/annotation_nation $ ruby dataserver.rb 1 5 time_attribute

Web server

~/annotation_nation $ ruby sinatra/annote/annote.rb http://geoiq.local

Finally, visit http://localhost:3000/article/MAP_ID