CSC/ECE 517 Fall 2020 - E2085. Allow reviewers to bid on what to review

From Expertiza_Wiki
Jump to navigation Jump to search

Project Overview

Background

Talk about the bidding process and the review process..kind of like an summary of what were doing and why

Objectives

  1. Implement top trading cycles on a web service.
  2. Add front end code to allow bidding on topics and call the appropriate web service from the lottery controller.
  3. Make sure solutions is similar to the bidding process on topics.

Previous Work

There have been two previous implementations:

Relevant Links

Github Repository: https://github.com/uahamedncsu/expertiza/tree/beta
Pull Request: https://github.com/expertiza/expertiza/pull/1822
Video Demo: [Not Created]

Files Modified

Will list all the files we change while implementing our project


Design

Here we talk about the design plan and include figures and whatever else we need.

User Interface

Potential Challenges


Implementation

Once we begin working, this section will have all our changes and be categorized by tasks



Test Plan

This section outlines the test plan for this project including testing scenarios/edge cases, the manual testing plan, and the automatic/RSpec testing plan.

Basic Test Scenario

  • Reviewers bid on multiple projects at different times
    • Bidding algorithm should give priority to reviewers that bid first and should assign based on reviewers ranking

Edge Cases

  • All reviewers bid on the same project
    • If different time stamps: bidding algorithm should give priority to reviewers that bid first
    • If same time stamps: bidding algorithm should assign reviews randomly
  • None of the reviews bid on any projects
    • Bidding algorithm should assign reviews randomly
  • Reviewer bids on their own project
    • Bidding algorithm should not allow a reviewer to bid on their own project and should have validation to prevent assigning a reviewer their own project
  • None of the reviewers bid on a specific project
    • Bidding algorithm should still assign reviewers to this project

Manual Testing Plan

Manual testing should be preformed on an Expertiza server.
Manual testing should (at a minimum):

  • test that the UI is implemented as expected
  • test that a participant can bid on projects to review
    • test that a participant can move projects into the bidding column
    • test that a participant can reorder projects in the bidding column
    • test that a participant's bidding preferences save

RSpec Testing Plan

RSpec tests will need to be written to related controller(s) and model(s).
These RSpec tests should (at a minimum):

  • test basic functionality of controller(s)
  • test validation of the model(s)
  • test the scenarios (basic case & edge cases) mentioned above



Team

Yasmin Ahamed Adam (uahamed)
Ryan Grainger (rpgraing)
Luis Delossantos (lgdeloss)
Colleen "Bria" Engen (ceengen)
Mentor: Saurabh Shingte (svshingt)


Resources

Previous Implementations: [1], [2]
Bidding Interface Implementation Pull Request: [3]