Explanation of Submissions Backend
Explanation of the Submissions Backend
Classes and Attributes
AssignmentSubmission
- Represents a submission of an assignment by a student.
- Attributes:
content
: The submission content (likely a string).assignment
: The associated assignment.students
: A list of students who submitted the assignment.
Assignment
- Represents an assignment given to students.
- Attributes:
name
: The assignment’s name.dueDate
: The deadline for submission.points
: The maximum points the assignment is worth.
Person
- A general class representing a person (probably a base class for
Student
). - Attributes:
grades
: A list of grades associated with the person.submissions
: A list of assignments submitted by the person.
- A general class representing a person (probably a base class for
SynergyGrade
- Represents a grade assigned for a specific assignment.
- Attributes:
grade
: The numerical grade.assignment
: The assignment being graded.student
: The student receiving the grade.
Student
- Represents an individual student.
- Attributes:
studentId
: A unique identifier for the student.name
: The student’s name.
Relationships Between Classes
AssignmentSubmission -> Assignment
- A submission belongs to an assignment.
AssignmentSubmission -> Person
- A submission belongs to a person (i.e., the submitter).
SynergyGrade -> AssignmentSubmission
- A grade is assigned to a specific submission.
Assignment -> Person
- An assignment has assigned graders (presumably teachers).
Assignment -> SynergyGrade
- An assignment is graded, producing grades.
Student -> Person
- The
Student
class inherits fromPerson
(i.e., a student is a type of person).
- The
SynergyGrade -> Assignment
- A grade belongs to a specific assignment.
SynergyGrade -> Person
- A grade belongs to a specific student.
Summary
This feature allows:
- Assignments to be created and assigned.
- Students to submit assignments.
- Grades to be linked to assignments and submissions.