-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
- Create the frontend components for the subpage
- Create a component
GradeSwitcherthat switches between the grades of "Questions," "Assignments," and "Students" - Create a component
QuestionsGradeswhich has all the grades of all the questions- Create a component
AssignmentQuestionGradePanelthat has the grades of the questions of an assignment - Create a component
QuestionGradePanelthat has the grades of the students for a certain question - Create a component
QuestionGradeDropdownthat has the grade of a certain student, also allowing the professor to see the student's code and change the grade
- Create a component
- Create a component
AssignmentGradeswhich has all the grades of all the assignments- Create a component
AssignmentGradePanelwhich has the grades of the students for an assignment - Create a component
StudentGradeItemwhich shows the grade of a student
- Create a component
- Create a component
StudentGradeswhich shows the total grades of all the students
- Create a component
- Make the database changes necessary for the subpage
- Create a table
question_grade_overridesthat has grade overrides for individual questions. The table has a columnquestion_idof type uuid,student_idof type uuid,is_manual_gradeof type boolean, andnew_gradeof type integer
- Create a table
- Create the backend API endpoints for the subpage
- Create a GET API endpoint
/api/classroom/{classroom_id}/gradesthat returns all the grades of a classroom in the format:{"assignments": [{"assignment_id": ...", "assignment_name": "...", "questions": [{"question_id": "...", "question_name": "...", "student_scores": [{"first_name": "...", "user_id": "...", "last_name": "...", "score": ..., "max_score": ...}]}]}]} - Create a PATCH API endpoint
/api/classroom/{classroom_id}/gradesthat manually updates students' grades. The request body is in the format{"updates: ": [{"manual_grade": true/false, "question_id": "...", "student_id": "...", "new_score": ...}]}
- Create a GET API endpoint
- Integrate the backend with the frontend
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels