generator client { provider = "prisma-client-js" } datasource db { provider = "sqlite" url = env("DATABASE_URL") } model DayGroup { id String @id @default(cuid()) title String order Int @default(0) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt tasks Task[] } model Task { id String @id @default(cuid()) title String descriptionMarkdown String groupId String order Int @default(0) visible Boolean @default(true) starterHtml String @default("") starterCss String @default("") starterJs String @default("") referenceHtml String @default("") referenceCss String @default("") referenceJs String @default("") expectedScreenshotPath String? visualThreshold Float @default(0.85) passingScore Float @default(0.8) checksJson String @default("[]") createdAt DateTime @default(now()) updatedAt DateTime @updatedAt group DayGroup @relation(fields: [groupId], references: [id], onDelete: Cascade) submissions Submission[] } model Submission { id String @id @default(cuid()) taskId String studentName String studentKey String html String css String js String passed Boolean score Float resultJson String createdAt DateTime @default(now()) task Task @relation(fields: [taskId], references: [id], onDelete: Cascade) @@index([taskId, studentKey]) }