Lab editing and group grades

- academic-service: PUT /labs/{id} (title, deadline, defense, points, status,
  description), POST/PUT/DELETE variants endpoints
- progress-service: lab_grades table, POST/GET /api/v1/grades, GET /me/grades
- gateway: routes for /api/v1/assign and /api/v1/grades
- web: lab edit page (metadata + per-variant forms + add/delete variant)
- web: group page shows grades matrix per lab with editable score inputs
  and computed average column
- web: student dashboard renders statement via markdown, shows deadline
This commit is contained in:
2026-09-11 00:03:24 +03:00
parent 0de6d3f2d8
commit 095e337136
18 changed files with 567 additions and 12 deletions

View File

@@ -0,0 +1,9 @@
-- Lab grades: one grade per student per lab.
CREATE TABLE lab_grades (
student_id uuid NOT NULL,
lab_id uuid NOT NULL,
score numeric(4,1) NOT NULL,
updated_at timestamptz NOT NULL DEFAULT now(),
PRIMARY KEY (student_id, lab_id)
);