Peer Review

Team Name

Engineers in Peer Review (EIPR)

Timeline

Fall 2023 – Spring 2024

Students

  • Sibi Sarveswaran
  • Grant F. Goodman
  • Brendan Sophabmixay
  • John B. Costa
  • Tahera Fatima

Sponsor

Christopher McMurrough

Abstract

Peer Review is a full stack web application that allows users who are working in teams to rate their peers by answering a survey of questions. The peers will get a full enhanced analysis with graphs that display what other team members think of them and it also gives them an idea of their progress.

Background

Oftentimes during team projects, members
may not be pulling their fair share of the
workload, or may be outputting poor-quality
work. Their peers recognize these
shortcomings, but may feel awkward about
offering feedback on their performance. This
inevitably leads to resentment over time as
deadlines approach and tensions rise.

Usually, these individuals are unaware of
their shortcomings and thus have no reason
to improve their output. If there was a way
to anonymously give and track feedback on
team member’s performances, this problem
could be mitigated.

Project Requirements

  • Team members can join a group and send anonymized feedback
    through a web portal.
  • Peer review reports are sent out to all team members of a project on
    a periodic basis.
  • Reports have intuitive formatting, using graphs to show aggregate
    performance trends.
  • Project manager or “admin” role is assigned to each team, and has
    the ability to view performances of every team member as well as
    control how often peer review reports are sent out.
  • Team members can choose to invite new people to their group.
  • Each user will have their own account and will go through login authentication in order to access the website.
  • If someone is trying to join a group, the group “admin” will get an email about it and the group admin can choose to either accept or decline the request.
  • If a person gets invited to a group, he or she will receive a code through email which they have to type in for that dedicated group in order to join that group.

System Overview

User Interface Layer (Front-end): The User Interface layer is
composed of three subsystems: The UI, API calls, and Cache. The
Frontend Layer uses the MERN stack software (React, Node).
Programming languages used include JavaScript, JavaScript XML (.jsx),
http, and CSS.
Data Processing Layer (Back-end): The Data Processing layer is
composed of three subsystems: API(ExpressJS), Data Processing, and
Database. The API Subsystem was implemented using programming
languages that are suitable for web development in our case Node.js
(JavaScript). The Data processing layer relies on Database
Management Systems such as MongoDB for data storage and
retrieval as well as programming language run times and
libraries.
Output Layer (Visualization): The output layer subsystem is
responsible for displaying the user interface and formatted graphs
based on the anonymized aggregate data.

Results

Demo

Future Work

This project in its current form is more or less a proof-of-concept, and
there are plenty of potential improvements to take into consideration.
• Improved mobile support
•Cleaner front-end design
•Additional options for report formatting
•Additional ways to receive reports, e.g. email, download pdf, etc.
•Open-source?

Project Files

Project Charter

System Requirements Specification

Architectural Design Specification

Detailed Design Specification 

Poster

bxs5157