CSC/ECE 517 Spring 2025 - E2531 Refactor participants controller.rb

From Expertiza_Wiki
Jump to navigation Jump to search

Introduction

This project aims to refactor the participants_controller.rb and its helper class, participants_helper.rb, in the Expertiza system. The focus will be on improving code structure by implementing DRY and SOLID principles, enhancing readability with meaningful comments and clear naming conventions, and ensuring robustness through comprehensive RSpec testing.

Use of Large Language Models (LLMs)

Requirements

Objectives:

  • Apply DRY principles to eliminate redundant code.
  • Ensure adherence to SOLID principles for better maintainability.
  • Use appropriate design patterns to optimize code architecture.
  • Write clear, informative comments and use meaningful naming conventions.
  • Test the refactored code extensively with RSpec to verify functionality.

Deliverables:

  • Refactored code for participants_controller.rb and helper class.
  • Comprehensive test suite and coverage report.
  • Updated and detailed documentation.
  • Video demonstration of the API functionality.

Existing Issues

  • There are some API functions that are currently not functioning properly:
    • [API functions here]
  • In-code comments should be more descriptive
  • Eliminate instances of redundant code

Design / Proposed Solution (OLD/TEMP)

Implementation (TEMP)

Testing Plan (TEMP)

Tests

Test ID Test Description
1 Test 'assignment_index' with valid assignment ID - Should list participants

Next Steps (TEMP)

Key concerns identified include the overlap and redundancy within the current system:

Team

Mentor

  • Aniruddha Rajnekar <aarajnek@ncsu.edu>

Students

  • Akhil Adusumilli <aadusum@ncsu.edu>
  • Vansh Dodiya <vkdodiya@ncsu.edu>
  • Brian Huynh <bhhuynh@ncsu.edu>

Relevant Links

Pull Request (Unimplemented) []
GitHub Repository [1]
GitHub Project Board [2]
participants_controller.rb in Old Expertiza [3]
participants_helper.rb in Old Expertiza [4]