CSE/ECE 517 Spring 2021 - E2105. Track the time students look at other submissions

From Expertiza_Wiki
Revision as of 16:10, 19 March 2021 by Jwboerge (talk | contribs)
Jump to navigation Jump to search

This is the wiki page of project E2105 of the OSS assignment in Spring 2021 for CSC/ECE 517.

For Peer Reviewers

When testing our deployed app, use the login credentials below:

  Username: instructor6 , Password: password

Then follow along with the methods outlined in the testing section to help you get started!

Project Description

Background

Current in Expertiza, students complete peer review questionnaires during the many rounds of an assignment. This is a great way to gather information about submissions and complete lots of testing while also exposing the reviewing student to practices and skills used in industry.

The instructor can view these reviews on the "Review Reports" screen. This can be found by getting the "Management" dropdown -> Assignments to list all assignments for that instructor. On the far right of each of these rows, one will see multiple buttons for possible actions, select "Review Report". Once the page has loaded, clicking the "View" button while "Review Reports" is selected in the dropdown will open the reports. A list of students who have completed reviews, the teams they reviewed, the amount of written text they submitted in comments, as well as other metrics will be displayed.

The issue with this system is that there is no metric currently for how long a user spends on reviews.

Because this project involves logging data real-time, the interactions with the database also need to be minimal.

Motivations

This project was created to give the instructors more information about how students complete reviews, specifically the time they spend on a review. This will give the instructor insight into each review and allow them to improve the teaching experience when it comes to peer reviews.

This "review time" metric should be broken down by each link in a submission.

Previous Implementations

The previous project teams and their Pull Requests and Wikis are listed here

Group Pull Request Wiki
E1791 PR Wiki
E1872 PR [Wiki]
E1989 PR [Wiki]
E2080 PR Wiki

Requested Changes

With the general functionality outline by previous groups, our team was asked to:

  • Design a database schema for logging time a reviewer spends on a submission
  • Modify the Review Report to show the time spent on each submission
  • Add tests for the code written

Our Implementation

Github Info

Our Pull Request can be found here

Tasks Identified

Along with the tasks above, upon reviewing existing code and discussing with our mentor we realized there was more to be done. A refactor of the previous teams code was needed as well as proper comments to document how this feature functioned. This extended the scope of our project significantly.

Our list of tasks included:

  • Review and understand previous teams code
  • Refactor and comment usable code from previous groups (Added after reviewing previous code)
  • Create new UI for viewing data
  • Improve current database schema to hold the total time spent on a review
  • Add tests

Review Previous Code

Upon reviewing all the previous groups code, it seemed that E2080 (our previous group) had the best starting point for our project having improved their previous groups code. They had a way of tracking the time spent on a review, storing it in a local file, saving this file to the database, and displaying the data. We did however find the code was hard to follow and needed to be refactored if we were to have this feature merged with the main Expertiza repository.

Refactor and Comment

Pulling E2080s code as a base, we refactored this code to have comments, proper formatting, and move most functionality out of client side javascript to the rails controller.

New UI

Improve Database Schema

Testing

Added / Changed Files

Dur to the size of our feature, our PR contains many additions. We have limited these to new files as much as possible in order to maintain the current Expertiza files and avoid unnecessary conflicts.

Added Files or Changes:

Refactored Changes:

Change by Previous: