CSC/ECE 517 Spring 2024 - E2403 Mentor-Meeting Management (Phase 2)

From Expertiza_Wiki
Revision as of 04:47, 7 April 2024 by Bsudala (talk | contribs)
Jump to navigation Jump to search

Expertiza

Expertiza is a Ruby on Rails based open source project. Instructors have the ability to add new projects, assignments, etc., as well as edit existing ones. Later on, they can view student submissions and grade them. Students can also use Expertiza to organize into teams to work on different projects and assignments and submit their work. They can also review other students' submissions.

Introduction

This project is the continuation of E2304 for the implementation of the Mentor-meeting management in the Expertiza system for mentored teams. We are now required to add functionality to add mentors to the teams when they pick up a topic.

Problem Statement

The following tasks are required for the project:

  1. Enhancing Code Clarity: This involves renaming methods from Project 3 with ambiguous names, optimizing loops and adding comments for unclear lines of code.
  2. Reimplement Mentored teams: Reimplement the Mentored team delegate to the Assignment team to reduce complexity and to follow best principles of Object Oriented Design.
  3. Writing tests for mentor meetings models: More tests have to be written for Mentor Meeting model.
  4. Writing tests for the mentor meetings controller: More tests should be written for Mentor meeting controller.

Design Goal

We have 2 main objects for this project.

  • Refactoring of the Mentor-meeting model and controller created for the Project 3
  • Reimplementation of Mentored Teams model and controller for the Project 4

While fulfilling both the objectives, the following design rules have to be ensured:

  • Validate proper functioning of all existing and anticipated methods, making any required enhancements or adjustments.
  • Establish loose coupling and tight cohesion for the model and controller to enhance code organization and maintainability.
  • Refactor redundant code in the previous implementation's controller and model methods using DRY principle, eliminating functionality duplication already present in the Expertiza system.
  • Confirm the continued effectiveness of existing test cases following the aforementioned modifications and generate additional test cases as per the need.


Team

Mentor

  • Ed Gehringer (efg)

Team Members

  • Samuel Kwiatkowski-Martin (slkwiatk)
  • Tanmay Pardeshi (tpardes)
  • Bala Logesh Sudalaimuthu Pandian (bsudala)