Adds profile and coverage targets
Formats models.py and optimizes nested to_dict queries
Adds list submissions test.
Improves file upload security.
Improves project resource performance.
Improves course resource performance.
Fixes bug with submission get by id
Improves tests formatting.
Increases test coverage.
Get a project by id.
Attempt to list project submissions of a project that doesn't exist for a course that exists.
Attempt to list project submissions for a project that belongs to a course that doesn't exist.
Attempt to create a new project as a student.
List all projects as teacher.
List course projects.
Attempt to add student as course teacher.
Attempt to add a teacher as a course student.
Attempt to add student to course while not being that student and not being a course teacher.
Incorrect password.
Duplicate course.
Removes CORS headers from tree (handled by reverse proxy)