CSC/ECE 517 Fall 2024 - E2484. Reimplement participants controller.rb
About Expertiza
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.
Introduction
This project aims to reimplement the participants_controller.rb
and participants_helper.rb
in the new Expertiza system. The participants_controller.rb
manages participants within assignments, and this reimplementation focuses on streamlining its methods, eliminating redundancy, and enhancing code readability and maintainability.
Requirements
participants_controller.rb
Methods: Fully implement each controller method with the same functionality as the current controller. participants_helper.rb
: Integrate relevant helper methods to streamline functionality and remove redundancy. Existing Issues
Reimplement participants_controller.rb
while addressing the following:
Design Patterns
API Calls
# | Method | Endpoint | Description |
---|---|---|---|
1 | index | GET /participants
|
|
2 | show | GET /participant/:id
|
|
3 | inherit | GET /participants/inherit
|
|
4 | bequeath | GET /participants/bequeath
|
|
5 | create | POST /participant
|
|
5 | update_authorization | PATCH /participant/:id/authorization
|
|
6 | update_handle | PATCH /participant/:id/handle
|
|
7 | destroy | DELETE /participant/:id
|
Testing Plan
Team
Mentor
- Jay Patel <jhpatel9@ncsu.edu>
Students
- Pierce Whelan <pwwhelan@ncsu.edu>
- Calvin Jiang <crjiang@ncsu.edu>
- Hechun Zhang <hzhang56@ncsu.edu>
Relevant Links
Pull Request [1]
GitHub Repository [2]
participants_controller.rb
in Old Expertiza [3]