CSC/ECE 517 Spring 2022 - E2246: Email your authors/reviewers, with complete tests

From Expertiza_Wiki
Jump to navigation Jump to search

Introduction

Expertiza Background

Expertiza is a web application where students can submit and peer-review learning objects (articles, codes, websites, etc). Instructors add and grade the assignments submitted by students to Expertiza. Students can be assigned in teams based on their selection of the topics. It has functionalities such as peer reviews in which students can provide feedback on other's work which helps peer in better developing the project. It is supported by the National Science Foundation.

Problem Statement

This project adds a new feature which will enable a reviewer to send an Email to authors from inside Expertiza or for the author to email all those reviewing them. Often when reviewing another team’s submissions, a reviewer might notice that their deployment link is broken or there is some other issue. Currently, there is no way to email the authors. This features is proposed to solve this issue.

Scope of the Feature

- The feature allows authors to send a common Email to all the reviewers to report any issues or updates to their project to be reviewed.
- It can allow a reviewer to send an email to a particular author if the reviewer wants to convey any issues found with that particular project.
- Reviewers will be anonymous to authors.

Proposed Changes

As depicted below, Authors will be given a link on their main Assignment page “Send Email to Reviewers” which will take them to a new page where they are given a text box for typing and sending an email to all their reviewers.





Reviewers will be given a similar text box link on their “Other’s Work” page next to each review that they are doing.





Flowchart

Author's View : The flow for authors to email reviewers regarding the work they have been reviewed for:


Reviewer's View : The flow for reviewers to email authors whose work they have reviewed:


Testing

Since this is a new Feature, Rspec test cases will be added for all the new methods introduced in the MailHelper class method.


Manual Testing

For testing purposes, we are using the 'expertiza.debugging@gmail.com' as both author and reviewer. There are two views that need to be tested manually.

1. Author View:

The author must follow the following steps:

1. Go to the Assignments page.
2. Click on the link which is placed on the right corner of the page called "send email to reviewers".
3. On clicking the above link, the author must be redirected to a page with an email text box. 
4. Type the email message and click on send.
5. Log in to the email to check if the message is received. 

2. Reviewer View:

The reviewer must follow the following steps:

1. Go to the other's work page.
2. Click on the link which is placed on the right corner of the page called "send email to author".
3. On clicking the above link, the reviewer must be redirected to a page with an email text box. 
4. Type the email message and click on send. 
5. Log in to the email to check if the message is received.

Design Pattern

A design pattern is a general repeatable solution to a commonly occurring problem in software design. It is a description or template for how to solve a problem that can be used in many different situations.

We will be implementing the decorator design pattern in our code. The decorator pattern is used to add/extend existing functionality without modifying the existing code. Our code is also going to follow the open-closed principle.

Team Members

Ashritha Bommagani (abommag@ncsu.edu)

Abhishek (aaupadhy@ncsu.edu)

Harini Bharata (hbharat@ncsu.edu)

Sri Pallavi Damuluri (sdamulu@ncsu.edu)