CSC/ECE 517 Fall 2021 - E2151. Allow reviewers to bid on what to review: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
==Problem Statement==
==Topic Overview==
[Summary of current problem]
===Statement of Problem===
Assigning reviews to users is a complicated process. Currently, reviews are still assigned using a first-come-first-served basis. However, reviews could be bid on like how topics are bid on. This would involve matching multiple students to review a submission up to the maximum reviewers for a submission.


==Goal of this Topic==
===Prior Work===
Before starting, it is vital to note the substantial amount of prior work done on this task. The prior work done in Fall of 2020 (linked here [[https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2020_-_E2085._Allow_reviewers_to_bid_on_what_to_review#Design]]) achieved much of the desired functionality for this task. However, the implementation was rejected due to DRY violations. Thus, the primary goal of this project topic will be to rebuild and refactor this prior work to make it consistent with DRY principles and able to be merged into the expertiza environment.


[conceptual statement of changes to be made and how they address the problem]
===Goals of this Topic===


==Specific Statement of Intent==
1. Update the prior work for this topic to be in line with the current state of the expertiza beta branch.
 
2. DRY out prior implementation's controller methods by creating a single controller which handles bidding for both topics and reviews.
The following is a precise, mechanical description of the intended changes.
3. DRY out prior implementation's views by implementing a view from scratch (rather than a code copy of topic bidding view).
 
4. Create exhaustive tests for newly DRY-ed methods, including edge cases.
[specific description of technical changes to be made]
5. Retain all functionality from prior work.
 
==Design Diagram==
The following diagram demonstrates the general flow of logic through our changes.
 
[[File:UMLFLowDiagram_OSS1.png]]
 
==Implementation==
 
[description of why the changes being made are made (maybe redundant?)]
 
To make this change, the following files were affected:
*file/name: description of what is in this file.
 
==Test Plan==
 
[description of features to test and how they will be tested]


==Github==
==Github==

Revision as of 01:01, 2 November 2021

Topic Overview

Statement of Problem

Assigning reviews to users is a complicated process. Currently, reviews are still assigned using a first-come-first-served basis. However, reviews could be bid on like how topics are bid on. This would involve matching multiple students to review a submission up to the maximum reviewers for a submission.

Prior Work

Before starting, it is vital to note the substantial amount of prior work done on this task. The prior work done in Fall of 2020 (linked here [[1]]) achieved much of the desired functionality for this task. However, the implementation was rejected due to DRY violations. Thus, the primary goal of this project topic will be to rebuild and refactor this prior work to make it consistent with DRY principles and able to be merged into the expertiza environment.

Goals of this Topic

1. Update the prior work for this topic to be in line with the current state of the expertiza beta branch. 2. DRY out prior implementation's controller methods by creating a single controller which handles bidding for both topics and reviews. 3. DRY out prior implementation's views by implementing a view from scratch (rather than a code copy of topic bidding view). 4. Create exhaustive tests for newly DRY-ed methods, including edge cases. 5. Retain all functionality from prior work.

Github

The Github corresponding to this task is publicly available here: https://github.com/WeiRui-Wang/expertiza

Contributors

This feature was created as part of Dr. Edward Gehringer's "CSC/ECE 517: Object-Oriented Design and Development" class, Fall 2021. The contributors were: WeiRui Wang, Geoff Garrido, and Ayush Luthra. Our project mentor was Yi Qiu (yqiu9@ncsu.edu)