It was a team project facilitated with Scrum practices as a part of FIT2101- Software engineering process and management. We had to make a web app which helps tutors mark team projects done in GitHub.It involved presenting statistics of the repository for repository owners, like a timeline showing when work was checked in, pie charts showing the proportion of lines of code each contributor checked in, and a list showing which team members were responsible for which files.
Here are the following user stories which we implemented:
- As a tutor, I want to access the application on mobile and desktop, so I can view the statistics for any GIT repository
- As a marker, I want to be able to see when a student checked in their work, so that I can keep track of each student’s activity.
- As a user, I want to login into the site or application, so only approved staff have access to the application.
- As a marker, I want to see a pie chart which depicts the contribution of number of lines by each student, so I can visually see each student’s contribution.
- As a user, I want to a dropdown list, so I can navigate between different pages
- As a marker, I want to see a list showing files and which team members were responsible for them, so that I can see student’s major contributions
- As a tutor, I want to assess how much time was taken to fix or close issues, so that I can know how much time was contributed.
- As a tutor, I want to know the number of issues raised per file to know how efficiently the team works.
- As a tutor, I want to know who resolved the issues, so that I can know who contributed towards damage control.
- As a tutor, I want to see the most frequently changed file by each developer to know which team member was responsible for which file.
- As a tutor, I want a graph illustrating the amount of work contributed by each team member, so I can assess students on individual performance.
- As a marker, I want to know the average of how many lines of code were changed per commit by the student, so that I can know of their individual contribution.
- As a marker, I want to know if the commits were frequent (a commit every 2 days), so I can know the consistency of the student’s contribution.
- As a user, I want to see which file was changed the most so that I can know which file was worked the most.
The UI is not that good as our main focus was on getting the data from REST API. We first wrote the pseudocode in Python then converted it to Javascript as Python has more built-in functions which makes writing algorithms easily.