Skip to content

📈 Interactive app for following twitter users trajectories over time concerning a specific topic, with user-input categorization and legending

Notifications You must be signed in to change notification settings

robindemourat/cassiopeia-archive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cassiopeia (archive version)

Screencast

Cassiopeia aims at visualizing and navigating into a twitter feed related to a specific query, and to follow the activity of the twitter accounts involved in the conversation, each represented by a constellation of visual objects. You can navigate into the twitter feed's history by brushing the histograms presented below the main visualization. Specific tweets analysis are allowed by the possibility to color tweets and users related to specific keywords or regular expressions.

Cassiopeia comes in several versions :

  • archive, static file-based (this one)
  • event-oriented, live-feed visualization
  • read-only live-feed app, purposed for embedding

Tech choices

Cassiopeia-archive is scaffolded with yeoman-angular-fullstack generator.

Back-end uses express and oboe for data management.

For this long-term, lightweight version, data is stored in simple json files being streamed and processed by the server, and then repurposed and served through two API endpoints.

Front-end uses angular & d3 - in which a specific "nova visualization" layout has been written (reusable).

API

CORS enabled, enjoy but be nice.

Get global timeline

For this archive version, the app is just serving the content of a json file (but if needed the app can generate it on the go - check /server/app.js)

GET api/globaltimeline

Get a slice of tweets

GET /api/slice/:from/:to/

Note: 'from' and 'to' parameters have to be absolute time integers.

Reproduce

Requirements

Or if you don't want to install yeoman :

  • install Grunt - npm install -g grunt-cli
  • install bower - npm install -g bower

Installation

Download and unpack the repo, open a terminal and cd to its root directory, then :

npm install -u
bower install -u

That's it !

Usage

Development :

grunt serve

Production :

grunt build
cd dist

Note on data

From this repo the json file containing the array of tweets is substracted.

If you'd want to reuse the app, here is what a tweet must look like in your json file:

{
    created_at : (string)(date),
    created_at_abs : (number)(abs date of the tweet creation),
    id : (number),
    text : (string),
    lang : (string),
    in_reply_to_status_id : (number),
    in_reply_to_user_id : (number),

    user_id : (number),
    user_screen_name : (string),
    profile_image_url : (string),
    user_name : (string),
    coordinates : (array),
    url : (string),
}

About

Designed and developped by Robin de Mourat (Université Rennes 2) and Donato Ricci (Sciences Po Paris) with the help of Benjamin Ooghe-Tabanou and his incredible gazouilloire for retrieving tweets.

Cassiopeia was first tested in May 2015 during the event "make it work", a huge-scale students' simulation of the COP21 climate negotiations that have been held in Paris some months later.

Cassiopeia is the little sister of a former experiment named Andromeda and made with Michele Mauri and Valerio Pellegrini.

About

📈 Interactive app for following twitter users trajectories over time concerning a specific topic, with user-input categorization and legending

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages