teamwork
Organization's Contribution DashBoard : GitHub Data Challenge 3
####What
Contributions activity Dashboard application for GitHub organizations
####inspiration
teamwork is inspired by Twitter's Open Source Dashboard : Twitter
♥ Open Source
Demo
-
you can have a look on screenshots of teamwork for GitHub organization (from Aug. 24, 2013 to Aug. 24, 2014)
-
repository leaderboard, according to number of contributions
####current features
- contribution calendar for entire organization (as GitHub provides per user)
- leaderboard of organization members according to contributions
- contribution calendar for a member in an organization
- leaderboard of repositories according to number of commits
####How to setup
- clone the repository
git clone [email protected]:pravj/teamwork.git
- use
pip
to install the denedenciessudo pip install -r requirements.txt
- copy
config/teamwork.sample.json
toconfig/teamwork.json
and edit it. - copy
config/bigquery.sample.json
asconfig/bigquery.json
and edit it see help section - setup
rethinkdb
see help section - crawl the data for organization using
./crawl
- analyse the data for organization using
./scan
- start application using
python app.py
- it should start working on
http://127.0.0.1:5000
- setup cronjob (optional)
- till synchronization using GitHub webhook API is being developed, cronjob can be used for daily change
- if you are choosing to do this, setup ./crawl and ./scan on cron
####Dependencies
- Google BigQuery
- for consumption of GitHub Archive data
- BigQuery-Python
- Python client for interacting with Google BigQuery
- Requests
- because, we love it
- RethinkDB
- Database, powering the application
- Flask
- you know, for one drop at a time
- Octicons
- Project for GitHub, with GitHub's icons.
- Hint.css
- An awesome tooltip library in CSS.
- GitHub Webhook API (proposed)
- synchronization of new activity's data
- Retask (proposed)
- Task Queue management
- some bottles of Appy Fizz and a lot of coffee cups
####BigQuery-Help
- create a new project on Google Developer Console
- BigQuery API will be ON by default for any new project.
- Create a new Client ID for your project
- go in
API & Auth -> APIs
section of project - select
Service Account
asApplication Type
- go in
- use generated JSON to edit your bigquery config.
####RethinkDB-Help
- you need to install RethinkDB to use
teamwork
- get it from here
- start the server
- start RethinkDB server by running
$ rethinkdb
- start RethinkDB server by running
- to setup RethinkDB as a cluster on system startup