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
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
System Requirements Specification