Files
schulos/docs/DATA_MODEL.md
T
Z User 9ce58565ba i18n: Fix 44 additional hardcoded English strings across 15 files
Fixed files:
- competitions-view.tsx: 10 strings (placeholders, labels)
- subjects-view.tsx: 11 strings (types, actions, placeholders)
- professional-calendar.tsx: 5 strings (event type labels)
- illness-reporting-view.tsx: 3 strings (status badges)
- student-detail-view.tsx: 4 strings (health form placeholders)
- data-table.tsx: 2 strings (search, empty state)
- compliance-wizard.tsx: 2 strings (name, state)
- settings-view.tsx: 1 string (Skipped)
- competence-flower-view.tsx: 1 string (Active)
- disciplinary-view.tsx: 1 string (All clear)
- district-management-view.tsx: 1 string (No recent activity)
- competitions-view.tsx: 1 string (Stock)
- ui/pagination.tsx: 3 strings (Previous, Next, More pages)
- ui/breadcrumb.tsx: 1 string (More)
- ui/carousel.tsx: 2 strings (Previous/Next slide)
- ui/sidebar.tsx: 1 string (Sidebar title)

Total: 44 hardcoded English strings replaced with German
2026-09-06 15:11:41 +00:00

3.5 KiB
Executable File

Data Model

SchoolOS uses Prisma with SQLite. IDs are portable strings and timestamps are stored in UTC. The schema is the source of truth; this document is a domain map, not a replacement for prisma/schema.prisma.

Organization And Identity

  • School, SchoolYear, SchoolDistrict: organizational boundaries.
  • User: authenticated account, role, school membership, locale, and soft deletion state.
  • ClassGroup, ClassGroupTeacher, Enrollment: teaching assignments and current/historical class membership.
  • Student, ParentStudentLink, ParentContact, EmergencyContact: student profile and linked guardians. Access must always be evaluated through the active student, parent link, class assignment, and school scope.

Academic Record

  • Subject, CompetencyTemplate, CompetencyCategory, Competency, and MasteryLevelDefinition define editable school competency frameworks.
  • ClassCompetencyAssignment links a framework to a class.
  • LearningProgressEntry is the evidence record used by progress, mastery, and competence visualizations.
  • Assessment, AssessmentCompetencyLink, and AssessmentResult capture assessment creation, competency links, and student results.
  • GradingScheme, GradingWeightRule, and ComputedGrade hold calculation rules and computed outcomes.
  • Report, ReportCardTemplate, and ReportSection hold report-card drafts, templates, and sections.

Classroom Operations

  • AttendanceSession and AttendanceRecord: attendance and absence status.
  • LessonPlan, Homework, and HomeworkSubmission: instructional planning and student work.
  • TimetableSlot, CalendarEvent, SchoolEvent, and EventRegistration: time-bound school activity.
  • TeacherAbsence, substitute models, transport models, and library checkout models support daily school operations.

Student Support And Communication

  • TeacherNote, BehaviorCategory, BehaviorIncident, and BehaviorIntervention: staff-only support context.
  • IllnessReport, CounselingAppointment, HealthRecord, and Wellness models contain sensitive information; they require strict role, student, and school checks.
  • CommunicationRoom, CommunicationRoomMember, CommunicationMessage, ParentMessage, Announcement, and Notification provide communication and delivery records.

Student Work And Learning Hub

  • Notebook, NotebookPage, NotebookPageVersion, and Drawing store digital student work and version history.
  • Resource, SubjectCategory, SubjectContent, SubjectTopic, SubjectLesson, and LessonQuestion represent learning content.
  • Badge, reward, competition, portfolio, goal, and study-plan models support student-facing learning workflows.

Compliance And Audit

  • AuditLog records sensitive operational actions.
  • DataExportRequest, DeletionFlag, DataRetentionPolicy, DpiaRecord, ComplianceConsultation, and SchoolComplianceStatus support rights, retention, and governance workflows.
  • Backup stores metadata for storage-backed backup files; backup files live below BACKUP_PATH and must not be placed in the database.

Change Rules

  • Additive schema changes require a Prisma migration and an updated seed path.
  • Never rename or remove a stored field without a migration/backfill plan.
  • New personal-data fields require a purpose, access policy, audit requirement, export behavior, erasure behavior, and retention category before release.
  • New feature tables must include school scope where the data is school-owned.