Skip to content

Observations

API fact source: Django backend generated docs

Current Position

observations holds classroom observation templates and the observation record model. The current workflow is still thin; define permissions, submission flow, and audit rules before expanding it.

Code entry:

  • backend/apps/observations/models/
  • backend/apps/observations/views/
  • backend/apps/observations/schemas.py
  • backend/apps/observations/urls.py

Templates And Records

Template definitions live in schemas.py and drive frontend form generation. Observation records relate to a course, course occurrence, classroom, and observer; the course occurrence relation is optional to support historical or manually entered data.

The template endpoint requires login, but this does not mean full observation CRUD is already exposed.

Workflow Before Expansion

  • Submit or review capabilities: which roles can create, read, update, and export observation records.
  • Statistics or evaluation: anonymity rules, total-score calculation, and historical template compatibility.
  • Audit: reuse the logs module's log_operation() pattern.

schemas.py contains business form structure; field changes affect dynamic frontend forms.