backend
backend copied to clipboard
Blocking assessments?
Is it possible to make some assessments "blocking", i.e. preventing access to future assessments?
An example of this could be Paths. A Path that follows a lecture could block a corresponding Mission.
A little misunderstanding, regarding my example. More concretely: Lecture L2 is on 22/8, and Path P2A opens right after the lecture. Mission M2A also opens on 22/8 after the lecture. If we would have "blocking" assessments as I'm suggesting, we could arrange M2A to open for a particular student only after she has completed P2A. This would allow us to force students to complete paths without "spending" any grades on them.
Originally opened by Prof @martin-henz, at https://github.com/source-academy/cadet-frontend/issues/201. Moving here since implementation depends more on the backend.
- Sort all assessments by open datetime,
- Find the datetime of the earliest unattempted path,
- Filter all assessments by datetime less than (2),
- Only send the filtered list from
GET /assessments
Would need to implement similar logic to restrict access to 'blocked' assessments in GET /assessments/{assessmentId}
though. Thoughts from the backend team?
I still think this is a really nice feature. Let's see if we can implement this at some point.