CSC/ECE 517 Spring 2022 - E2236: Fix issues related to deadlines and late policies

From Expertiza_Wiki
Jump to navigation Jump to search

Problem Description

Expertiza can automatically deduct points if a student is late in performing some action (e.g., submitting or reviewing). This is implemented by defining a new “late policy” and applying it to the assignment. Late policies are managed on the Due dates tab of assignment creation (or editing). The team found some issues in the current implementation which either cause errors are completely not functional. The goal of this project is to eliminate these issues by making necessary changes and adding new test cases which cover all scenarios.

Issues with the Current Implementation

The following issues have been raised in the current implementation:

  • Issue 1 - When creating a late policy, the “back” link does not take the user back to editing the assignment.


  • Issue 2 - After creating a late policy, the “back” link does not take the user back to editing the assignment.



  • Issue 3 - The "+" and "-" buttons for Show/Hide Date Updater do not work.




  • Issue 4 - There is also no indication of this penalty policy for students, and no proof it actually works




  • Issue 5 - No Botton navigating to the list of all late policies



  • Issue 6 - When creating/editing an assignment, you can’t see the detail of each late policy

Refactoring and Design Patterns

Since our goal is to fix existing functionalities we will not be updating the existing design patterns being employed in the code. Yet, we would like to discuss what makes these refactoring important. Refactoring is a systematic process of improving code without creating new functionality. Thus, a key to the success of our project is ensuring everything that was working before our changes work even after our changes have been added. To ensure this, we will continue to test the system after each issue has been fixed. This will allow us to ensure two things:

  • We are only changing what we set out to change when fixing a particular issue.
  • We are not breaking what was working before we deployed our fix.

We believe at the end our changes will increase the quality of Expertiza and improve the experience for users an developers alike.

Project Scope



All the issues raised mainly exist in the "Due Dates" tab on the "Edit Assignment" page.

  • Issue 1 - Analyze and fix required function and write appropriate test cases (app/views/late_policies).
  • Issue 2 - Analyze and fix required function and write appropriate test cases (app/views/late_policies).
  • Issue 3 - Analyze and fix required function and write appropriate test cases (late_policies_controller.rb).
  • Issue 4 - Analyze and fix required function and write appropriate test cases (late_policies_controller.rb).
  • Issue 5 - Analyze and fix required function and write appropriate test cases (app/views/late_policies).
  • Issue 6 - Analyze and fix required function and write appropriate test cases (app/views/late_policies).
  • Test cases - Write new test cases for late_policies_controller.rb and late_policy.rb.

Milestones

Project Mentors

  • Nicholas Himes

Team Members

  • Zhiyuan Ma
  • Gaolin Zhang
  • Zhijin Yang
  • Yuyang Jiang

Useful Links

E2236

  1. GitHub Repository

Expertiza

  1. Expertiza on GitHub
  2. Live Expertiza website