CSC/ECE 517 Spring 2023 - E2327. Fix Back link on New Late Policy page: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 28: Line 28:
The following problems have been covered and corrected in the current implementation:
The following problems have been covered and corrected in the current implementation:


* '''Issue 1''' - Under the “Due Date” tab when click on the "New late policy" link an error message shows up.
===== '''Issue 1: Removing Error Message''' =====
Under the “Due Date” tab when click on the "New late policy" link an error message shows up.
[[File:Issue-1.png|800px|]]
[[File:Issue-1.png|800px|]]
* '''Issue 2''' - When creating a late policy, the “back” link does not take the user back to editing the assignment.
====='''Issue 2: Fixing Back Link''' =====
When creating a late policy, the “back” link does not take the user back to editing the assignment.
[[File:Issue2WhenBackisclicked.png|800px]]
[[File:Issue2WhenBackisclicked.png|800px]]
* '''Issue 3''' - After creating a late policy, the “back” link does not take the user back to editing the assignment.
====='''Issue 3: Fixing Back Link upon creation''' =====
After creating a late policy, the “back” link does not take the user back to editing the assignment.
[[File:Issue-3FromList.png|800px|]]
[[File:Issue-3FromList.png|800px|]]



Revision as of 16:50, 12 April 2023


Problem Description

Project Overview

Expertiza was created as an online platform to assist in peer reviewing and submission of academic work, which can include articles, codes, and websites. With this application, instructors are given the ability to add assignments, grade them, and allocate students into teams based on their preferred topics. The Expertiza platform provides a 'Late Policy' feature that can be applied to any assignment, so that points are automatically deducted if a student submits or reviews projects or assignments late after the due date has passed.The Late Policy feature is implemented by applying the policy to an assignment through the Due Dates tab during creation or editing of an assignment. The goal of this project is to address certain comments and issues associated with the solutions to the problems related to "Back" link on the "New Late Policy" page by making appropriate modifications and adding comprehensive test cases that cover all possible scenarios.

Project Scope

Aim of this Project

Te aim of this project is listed as follows:

  1. Improving code structure and documentation via refactoring
  2. Adding code comments for parts of code refactored or improved
  3. Improving code readability
  4. Writing tests for any changes made
  5. Removing redundant or unused code


Problems Resolved in the Current Implementation

Work Flow Diagram

Issues

The following problems have been covered and corrected in the current implementation:

Issue 1: Removing Error Message

Under the “Due Date” tab when click on the "New late policy" link an error message shows up.

Issue 2: Fixing Back Link

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

Issue 3: Fixing Back Link upon creation

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

Resolution

The following are the screenshots after the issues were resolved within the current implementation:

  • Issue 1 - Resolution where the error message doesn't show up.



  • Issue 2 - Displaying back link takes back to late policies

  • Issue 3 - After creation of late policy, back link takes back to late policies


Solution and Files Refactored

We made the following refactorings within the existing solution to improve code readability and maintain sound workflow. First, we extracted the method that is responsible for maintaining a check on duplicate assignment name and directory path for a given course ID. To ensure that the create method is readable and responsible for carrying out only a single responsibility of creating the assignment, we have separated the checking responsibilities from the code:



To improve the correctness of the code and avoid any illegal modifications of error messages, we have change the access modifier for the attribute error messages:

Design Principle

The aim of our project is to improve upon the existing implementation by addressing the review comments provided for the last implementation. Hence we will not be updating existing design patters, and instead will be introducing Refactoring within the existing code.
Refactoring is the process of improving the structure, design, and/or implementation of an existing codebase without changing its external behavior. It involves making small, incremental changes to the code to make it more maintainable, easier to understand, and more efficient.

Testing

RSpec Unit Tests

We plan to provide RSpec Unit Tests within the Late Policy Spec page on top of the existing tests in the form of simple unit tests to ensure that our changes and modifications do not break the working logic of the existing implementation.

Tests

Sr No Test Description
1 Test to create an assignment and check whether the error message shows up
2 Test to create assignment and check Back button functionality
3 Test to check Back button functionality without creation

Test Screenshots

Will be added soon.

Manual Testing

  • When logging in as an instructor:

1. Edit an assignment by clicking on edit logo under the “Action” column.
2. Under the “Due Date” tab click on the "New late policy" link.
3. In “New late policy” fill in the required details.
4. Clicks “Create” to save the policy, to go to page which shows all late policies.
5. Clicks “Back” to redirect the instructor back to the “Due Date” tab of the assignment which was being edited.
Or
4. Clicking “Back”, should redirect the instructor back to the “Due Date” tab of the assignment which was being edited.

Team

Mentor

Divyang Doshi(ddoshi2@ncsu.edu)

Team Members

Amisha Bipin Waghela (awaghel@ncsu.edu)
Sasank Marabattula (smaraba@ncsu.edu)
Srilekha Gudipati (sngudipa@ncsu.edu)

Reference

Previous Project PR

Expertiza_wiki

Expertiza Documentation

Expertiza Github