Artemis
Artemis copied to clipboard
[Feature Proposal] `Batched Quiz`: warn participant if batch has already started
Context
Problem
In a batched quiz, all participants of the same batch start and finish the quiz at the same time. When a student joins a batched quiz late, they thus have less than the maximum amount of time. If they join the batch after it's done, they have no time to work on the quiz at all.
Motivation
Who is affected: students participating in quizzes. Why are they affected: miss out on a chance to work on a quiz, without warning.
Requirements Engineering
Existing (Problematic) Solution / System
Current solution: verbally communicate with quiz participants that the batch has already started and they cannot expect the full amount of time if they join late.
Proposed System
Warn potential participant, while showing a countdown, before they are allowed to join a batch that has already started.
Prevent users from joining batches that have already been run.
Requirements
...
Analysis
Analysis Object Model
...
Dynamic Behavior
...
System Design
Subsystem Decomposition
API for joining a batch needs to return a warning, with the quiz end timestamp, without joining the student to the batch, if the quiz batch is already running, or with a failure if the quiz batch is finished.
The frontend needs to check the result of the API call and display a warning/error as appropriate.
API needs to accept an additional "confirmation" parameter to indicate the participant has seen the warning and wants to join anyway.
Persistent Data Management
No changes required.
Access Control / Security Aspects
Participant MUST NOT see any quiz questions if they are shown the warning, until they have confirmed and been added to the batch.
Other Design Decisions
...
UI / UX
see above...