uwidcit / myAdvisorDev

0 stars 6 forks source link

Define API Structure for Re-Designed "Create a Course Plan" Page #99

Closed firepenguindisopanda closed 1 month ago

firepenguindisopanda commented 2 months ago

Use Case: Define API Structure for "Create a Course Plan" Page

As a backend developer I need to define the structure of the API response for the "Create a Course Plan" page So that the frontend can properly display completed, eligible, and available courses in the required accordion format

Details and Assumptions

The API will be responsible for aggregating and categorizing course data based on the student's completed courses, eligible courses, and the courses available for the selected semester. The API will return data structured by sections (L1CORE, L2CORE, L3CORE, ADVELECTIVE, CIELECTIVE, CIMELECTIVE, FOUN). Each course in the response will include details such as course ID, name, credits, completion status, and availability for the semester. The API will be designed to handle requests with student ID and semester ID as input parameters. The response will ensure that completed courses are flagged as such, allowing the frontend to render them as checked and disabled.

Acceptance Criteria

Given a student and a selected semester
When the API receives a request with the student ID and semester ID
Then the API responds with a JSON object containing categorized course data under sections: L1CORE, L2CORE, L3CORE, ADVELECTIVE, CIELECTIVE, CIMELECTIVE, FOUN
And each course object includes fields for ID, name, credits, completion status, and semester availability
And completed courses are marked with a flag to indicate they should be displayed as checked and disabled