Skip to content

A real-time 3D visualization of Tweets around the world. Uses three.js (WebGL), Angular & PubNub.

License

Notifications You must be signed in to change notification settings

professorhantzen/twitter-stream-globe

 
 

Repository files navigation

tweet-stream-globe

A real-time 3D visualization of Tweets from around the world.

This web app attaches to the Twitter API stream/filter and runs rudimentary sentiment analysis on Tweets with geo data. Tweets are published via PubNub Websockets and plotted to a 3D globe.

Inspired by the Web GL Globe Chrome Experiment and the PubNub Real-Time WebGL Visualization.

![Screenshot](screenshot.png?raw=true =858x "Screenshot") Video Capture | Running Demo (Availability of this server may fluctuate)

Installing and Running

Install Node.js.

Clone GitHub repo:

https://github.com/twitterdev/twitter-stream-globe.git

Create a Twitter app and PubNub account:

Create a config.json file using config.sample.json as a template. Fill in your Twitter App API and PubNub keys.

Optionally, install the Compass Ruby Gem.

gem install compass

If you do not want Compass support, comment out this line in app.js

// app.use(require('node-compass')({mode: 'compress'}));

Install node module dependencies:

npm install

Run application:

npm start

Go to http://localhost:3000 in your browser.

Deploying

This application is ready to run on a free Cloud Foundry, OpenShift or Heroku account.

Heroku

You can deploy to Heroku via Git with the Heroku toolbelt.

Before deploying to Heroku, set your environment config vars to mirror config.json, and set NODE_ENV to "production."

image

Tip: Managing the Twitter stream is more appropriately accomplished with a worker or background job. See this gist for setting up a Twitter / PubNub worker on Heroku.

OpenShift

You can deploy to OpenShift with rhc, by adding your own keys to the following command:

rhc app create twglobe nodejs-0.10 \
  --from-code=http://github.com/twitterdev/twitter-stream-globe.git \
  NODE_ENV=production \
  TWITTER_CONSUMER_KEY=YOUR_TWITTER_CONSUMER_KEY \
  TWITTER_CONSUMER_SECRET=YOUR_TWITTER_CONSUMER_SECRET \
  TWITTER_ACCESS_TOKEN=YOUR_TWITTER_ACCESS_TOKEN \
  TWITTER_TOKEN_SECRET=YOUR_TWITTER_TOKEN_SECRET \
  PUBNUB_PUBLISH_KEY=YOUR_PUBNUB_PUBLISH_KEY \
  PUBNUB_SUBSCRIBE_KEY=YOUR_PUBNUB_SUBSCRIBE_KEY

Cloud Foundry

You can deploy to a Cloud Foundry instance with the cf command line tool.

Edit out the line for Compass support (see above) in app.js.

Copy manifest.sample.yml to manifest.yml, edit the application name, and then insert your Twitter and PubNub API keys.

Run cf push to deploy and start the app on Cloud Foundry.

Resources

About

A real-time 3D visualization of Tweets around the world. Uses three.js (WebGL), Angular & PubNub.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 67.7%
  • HTML 20.8%
  • CSS 11.5%