CSC/ECE 517 Spring 2025 - E2531 Refactor participants controller.rb
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]