CSC/ECE 517 Fall 2024 - E2484. Reimplement participants controller.rb

From Expertiza_Wiki
Revision as of 20:47, 10 November 2024 by Crjiang (talk | contribs) (→‎Team)
Jump to navigation Jump to search

Introduction

This project aims to reimplement the participants_controller.rb and its helper class in the new Expertiza system. This controller manages participants within an assignment, and this reimplementation aims to streamline its methods, eliminate redundancy, and improve code readability and maintainability.

Project Objectives

Fully reimplement the participants_controller.rb with a focus on refactoriong violations of the Open-Closed Principle, resolve the lack of dependency injection, and reduce the amount of excessive conditionals.

Project Scope

participants_controller.rb

Critical Features

Implement participants_controller.rb Methods: Fully implement each controller method with the same functionality as the current controller.

Import from participants_helper.rb: Integrate relevant helper methods to streamline functionality and remove redundancy.

API Creation: Expose API endpoints for all necessary methods to enable seamless access and integration from the frontend. Ensure that each endpoint follows best practices for RESTful API design, including proper error handling and secure data access.


Design Decisions

Testing Plan

Testing with rswag: Create test cases for all methods, focusing on edge cases, and generate rswag documentation.

Swagger UI Video Documentation: Record a video walkthrough of API endpoints in Swagger UI, showcasing each method’s functionality.

Team

Mentor

  • Jay Patel <jhpatel9@ncsu.edu>

Students

  • Pierce Whelan <pwwhelan@ncsu.edu>
  • Calvin Jiang <crjiang@ncsu.edu>
  • Hechun Zhang <hzhang56@ncsu.edu>