Phase 2+5: lab submissions and student lab flow
- progress: submissions table+V4; SubmissionService (deadline-gated submit,
unlimited resubmits, per-student history, zip download); files on disk
data/submissions/{student}/{lab}/{seq}/
- student API: POST submit (multipart), GET me submissions, download; admin
GET lab submissions + admin download (zip pack)
- progress enrich(): labId in MeAssignment; web DTO aligned
- web: /student dashboard (avg/best/worst cards), /student/labs cards,
/student/labs/{id}: condition md, variant block, submit form, history;
'Лабораторные' link in nav for students
- admin: submissions column on lab assignment table + download link
- fixed long-standing template bug: broken @{} expression (missing }) in
admin/lab and student/lab
This commit is contained in:
@@ -3,6 +3,10 @@ server:
|
||||
spring:
|
||||
application:
|
||||
name: progress-service
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 30MB
|
||||
max-request-size: 120MB
|
||||
datasource:
|
||||
url: ${LMS_DB_URL:jdbc:postgresql://localhost:5432/lms?currentSchema=progress}
|
||||
username: ${LMS_DB_USER:lms}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
-- Lab submissions: files stored on disk, one row per submission attempt.
|
||||
|
||||
CREATE TABLE submissions (
|
||||
id uuid PRIMARY KEY DEFAULT uuidv7(),
|
||||
student_id uuid NOT NULL,
|
||||
lab_id uuid NOT NULL,
|
||||
seq integer NOT NULL,
|
||||
created_at timestamptz NOT NULL DEFAULT now(),
|
||||
CONSTRAINT submissions_seq_unique UNIQUE (student_id, lab_id, seq)
|
||||
);
|
||||
|
||||
CREATE INDEX submissions_lab_idx ON submissions (lab_id);
|
||||
Reference in New Issue
Block a user