CSC/ECE 517 Spring 2018- Project E1805: Convolutional data extraction from Github
Introduction
Expertiza is a web based open source tool developed and maintained by current and past students of North Carolina State University. Instructors
Problem Statement
The objective for this project is: Integrate Github metrics into Expertiza. The tasks required to complete this were broken down as follows.
- Retrieve data on a Git pull request
- Calculate meaningful metrics from the data for teams and individual students
- Display metrics to instructors
- Store metrics in the Expertiza database
Previous Design
Previous work done on this project utilized the Github statistics API, which was unable to retrieve information on individual students. The design was able to accurately fetch and display data covering a team of contributors, but could not create and display individual metrics to instructors.
Proposed Design
The proposed design utilizes the new GraphQL Git API which allows for simple extraction of metrics on a pull request. The API call returns information on multiple commits with only a single fetch command. The returned data is then parsed into team level information and individual level information. Next, the metrics are calculated from the data and displayed to the user.