Skip to content

Course initial

Tim van der Horst requested to merge course-initial into development

Description

Closes #187 (closed), #183 (closed) A working backend support for courses. This includes a new repository and controller which manages the courses.

A course has the following structure (when serialized):

{
    "id": "5cf028357fc2582206be877b",
    "name": "Complexity Theory",
    "courseCode": "TI3306",
    "year": 2019,
    "instructorSet": [],
    "taSet": [
        "ta"
    ],
    "assignmentIds": [
        "5ce653c5ff1dbf1ab679583d"
    ]
} 

The following actions can be performed

  • Retrieve the list of all courses
  • Add a new course
  • Add an assignment to a course
  • Add a user to a course (with proper authentication)

Changes

  • Refactored the getUser method to return an optional
  • General refactoring of the DatabaseConnection to not throw more sensible exceptions (e.g. when a user cannot be found)

Additions

  • A CourseRepository, Course and CourseController

Test and Review

To be filled in by the reviewers

  • All of the methods are commented to expectation

  • The methods are tested to satisfaction

  • There are no unnecessary files present in the MR

  • The continuous integration has no problems with the MR

  • The MR is filled in as requested (including labels, milestones, and reviewers)

  • The documentation is up-to-date

  • All nullable parameters are marked as such

Edited by Tim van der Horst

Merge request reports