This project is conducted for the course "TWEB-2017", at HEIG-VD, Switzerland.
- Teacher: Olivier Liechti.
- Authors: Ludovic Delafontaine & Michela Zucca.
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.
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.
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.
You can test the entire application here. Feel free to test it !
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.
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.
For server's aspects, we encourage you to visit the associated repository here.