Add documentation and implementation report
This commit is contained in:
14
NOTES.md
14
NOTES.md
@@ -1,3 +1,15 @@
|
||||
# Notes
|
||||
|
||||
Implementation notes will be filled in as the application lands.
|
||||
## Implementation Choices
|
||||
|
||||
- QR codes are generated server-side with the Python `qrcode` package and returned as an SVG data URL from session creation.
|
||||
- `live_histogram` is pushed on every accepted submission. There is no throttling in v1 because the acceptance load is small and this keeps behavior simple.
|
||||
- WebSocket broadcast sends are queued as background tasks. This prevents one slow classroom device from blocking state transitions or auto-close.
|
||||
- The optional observer page exists as a placeholder only. The spec explicitly marks it optional.
|
||||
- Tests use one FastAPI `TestClient` portal for multi-student WebSocket simulation. Each socket is opened after joining as that student, and the stored socket identity remains stable after the cookie is overwritten for the next simulated student.
|
||||
- Python 3.14.4 was used locally. The project requires Python 3.11 or newer.
|
||||
|
||||
## Deviations
|
||||
|
||||
- The admin frontend includes a compact one-question sample in the Add Pool modal for convenience. The full 10-question Week 9 pool is in `examples/week9_pool.json`.
|
||||
- FastAPI emits a deprecation warning for `on_event` under the installed version. Startup works correctly, and the warning is not user-facing.
|
||||
|
||||
Reference in New Issue
Block a user