CSC/ECE 517 Spring 2022 - E2242. Fix teammate-review view
Problem Statement
After the deadline to submit a project is crossed and the work is reviewed, both students and instructors can view teammate reviews. Students view them from the heatgrid at the bottom of the “Your scores” page. Instructors view them from “View scores”, then clicking on a particular team, then clicking on the Teammate Reviews tab. In both cases a single heatgrid is shown. It is not clear if the heatgrid shows the reviews that the student has written of his/her teammates, or is the heatgrid for the reviews that the student has received from his/her teammates?
For instructors, the problem is compounded. Instructors can choose from a list of the students on the team, but they have no way to tell whether the heatgrid shows the reviews done by or done for the team member. Also there's no option for instructor to allow/disallow students to check their teammate reviews for their contribution to the project.
Explanation of Feature
Existing functionality of teammate-review view
Used login details from factories.rb and logged in as an instructor and student to retrieve corresponding views.
1. Instructor's view of teammate review: As we can see below, under Teammate Reviews tab, the heatgrid for student 7185 doesn't clearly state if it is review done by the student 7185 or is it the review score received by the student 7185.
2. Student's view of teammate review: As we can see below, the student's view of your scores doesn't show the teammate reviews. We need to implement the feature by invoking the pre-existing code for displaying a heatgrid, so that a student will be able to view the teammate reviews.
Desired functionality of teammate-review view
1. Distinguishes reviews done for a student by rendering separate heat grids for each student. Both reviews by the student and reviews of the student’s contribution should be shown separately.
2. Includes a checkbox(Show teammate reviews?) on the edit assignment page, so that instructor can enable/disable visibility of heat grid to students.
3. In addition to the individual reviews, shows a composite score derived from all reviews. The code should invoke the pre-existing code for displaying a heat grid, so other kinds of heat grid views could use it.
4. The code must also be cognizant that the display may be in an anonymized view, where no names are to be shown, but only “Student nnn”, “Instructor mmm”, etc.
Use Case Diagram
Design Patterns
We will be using Abstract Factory design pattern for our implementation.
User Stories
- As a student, I can view the reviews given to me by my teammates.
- As an instructor, I can view the reviews a student has given to their teammates.
- As an instructor, I can choose to view only one student's teammate reviews or to view all students' teammate reviews together.
- As an instructor, I can view the name of the reviewers for a student's reviews.
- As a student and a TA for another subject, I cannot view an instructor's view to the view_team page.
Testing
Video Demonstration
will be added for the final submission
Testing Goals and Test Objects
Drawing from the project objectives:
RSpec Unit Tests
Test cases provided here, will add RSpec code blocks for the final submission
- Student Account
Scenario: Given: When: Then:
Manual UI Tests
- student ID in header
Scenario: Student ID in grading history view Logged in as an Instructor/Admin On Assignment page, click on Grading History Resulting Grading History Table is shown Student ID appears in the header, not in any table columns
Github and Related Link
The forked git repository for this project can be found here.
Contributors
Mentor: Naman Shrimali
- Rachana Kondabala (rkondab)
- Rahul Shukla (rshukla3)
- Shubham Bansal (sbansal6)
- Sravanth Reddy Bommana (sbomman)