Inspiration

GitHub is a large source code sharing and collaboration website. Currently there is an archive of all GitHub events per hour, but there is no visualization of the things happening on GitHub at real time. GitLive provides real time information and statistics about what's happening on GitHub, including trending users and projects.

What it does

GitLive provides real time graphs for the events on GitHub, new repositories, new branches and tags, trending repositories, trending users and per minute statistics.

How I built it

It polls GitHub event API every 2 seconds using a modified open source project https://github.com/igrigorik/githubarchive.org. Then this subscriber pushes the events to redis. On nodeJS side, it reads the events from redis, calculates the statistics and sends the data to the client using websocket.

I used the "MLH 2016 Hackathon Season" AWS credit to host the website. I got a free domain from domain.com and used Let's Encrypt to get a free SSL certificate.

The event polling part used the igrigorik/githubarchive.org project. I developed the nodeJS backend and visualization html by myself. The structure of the project is ruby->redis->nodejs+express+socketio->google charts.

Challenges I ran into

This is the first time for me to use ruby.

Accomplishments that I'm proud of

This is my first time to build a large scale real time data visualization.

What I learned

ruby, real time processing

What's next for GitLive

I will add more trending and statistics features.

Important information of the domain

https://gitlive.net/ was registered last night (1/16/2016). Due to DNS TTL delays, the IP records take time to be updated everywhere. Add 52.91.7.236 gitlive.net in your hosts file if you meet DNS issues.

Share this project:
×

Updates