GithubHelp home page GithubHelp logo

archiveroom's Introduction

GitHub ArchiveRoom

[ View Demo ] [ View Video Demo ]

About

Developed for the GitHub Data Challenge 2.

'GitHub ArchiveRoom' is a 3D visualization of user's public activity. Besides the visualization, 'ArchiveRoom' creates a way to explore each data node by looking it up in the GitHub Archive. Google BigQuery allows for a quick way of creating CSV data file of user's activity. A copy of the GitHub archive is served as an API that allows event lookup by the event creation date. The visualization lets users to fly / walk around and explore activity data from different angles. Screenshot functionality creates a way of saving interesting discoveries and can be shared later on.

Browser Support

  • Use Chrome 27+ or Firefox Aurora / Nightly
  • Tested in Chromium 28 on Linux

Controls

  • Left Click - View Cube Data
  • [W],[A],[S],[D] - Walk around
  • [Space] - Jump
  • Hold [Space] - Fly Up
  • Hold [Shift] - Fly Down
  • [Tab] - Screenshot
  • [Escape] Release Pointer Lock

Screenshots

Installation Notes

  • Clone this repo
    • npm install
    • npm install -g browserify
    • grunt shell:br to compile the voxel bundle
    • Run grunt for debug, grunt prod for production, grunt dev for development
  • To view cube data you need a copy of the GitHub archive from March 2012 until May 2013 or so.
    • Put the archive data in [project]/data/raw/
    • You can upload CSV files using the web interface or put them into [project]/data/csv folder
  • Start the server from project root, using node app/server/serve.js
  • Navigate to http://localhost:9987

Known Issues

Please report issues in the issue tracker. If the viewer is not loading or just showing a dot in the middle of the screen you might be using an unsupported browser. If the viewer is slow even after the blocks finished rendering, then you need a try this with a better graphics card.

Special Thanks

  • voxel.js - an open source voxel game building toolkit for modern web browsers
  • three.js - javaScript 3D library

License

MIT

archiveroom's People

Contributors

vladikoff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

archiveroom's Issues

Kill previous AJAX call

When clicking a bunch of cubes in rapid succession, the info panels will appear one after another.

For example:

  • click cube X
  • quickly click cube Y
  • wait
  • cube X's info panel appears
  • cube X's info panel disappears and cube Y's info panel appears

Shouldn't be too hard to fix, just kill the previous AJAX call when initiating a new one, so the handler doesn't get called.

I tried to set it up locally to look into fixing it, but couldn't manage to do that and I don't feel comfortable blind-fixing this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.