Skip to content

heig-vd-tweb2017/github-analytics-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project - Github Analytics

This project is conducted for the course "TWEB-2017", at HEIG-VD, Switzerland.

  • Teacher: Olivier Liechti.
  • Authors: Ludovic Delafontaine & Michela Zucca.

What is this

This project proposes to analyze a GitHub repository, especially on issues management.

  • Time analysis of opened and closed issues.
  • Enhancement of the three most active users on closing issues.
  • Enhancement of the three most active users on opening isusses.

The three aspects are represented throught graphics and tables.

The information about the users is deliberately hidden in parts to avoid any competition. The only objective is mutal help and encouragement.

Why is this

We wanted to create this tool to encourage people to improve their product by the following points:

We think that issues are a good measure to the activity and the progress of a project.

  • People who open issues want to see new features in the product they use.
  • People who close issues and add new features to the product.

We think that issues should be opened. This proves the activity and contininous integration of the product as people want to see new features and people implement them.

How is this

For this project, we used several librairies and technologies.

Client side:

  • SB Admin 2 for the Bootstrap template.
  • Chart.js to display the infomations with graphics.
  • Oboe.js to retreive data from the server and display them as soon as new data are available.

Server side:

  • Node.js for the server runtime engine.
  • Express for the WEB server.
  • GitHub API to get the data from GitHub.
  • SuperAgent to query GitHub's API easily.
  • Mocha for the unit tests.
  • Chai as an assertion library used with Mocha

On both side:

  • ESLint for quality code control.

Live testing

You can test the entire application here. Feel free to test it !

Client's aspects

The client side is the interface with the user.

The user is prompted to enter the name of a github repo to analyze and start the analysis. The results are presented in the form of tables and graphs updated as the analysis progresses.

Deployment

You only need to deploy the src directory on a WEB server. You might need to edit the file src/js/custom.js and edit the url constant to match your API's URL.

Server's aspects

For server's aspects, we encourage you to visit the associated repository here.