Skip to content

Database Schema

Core entities

Fill in as the schema is finalised. A starting point based on the brief's basic-tier requirements:

  • User (base identity — organiser / tutor / student role)
  • Course (school course that needs tutors)
  • TutorProfile (marks per course, hours/week capacity, timetable)
  • Assignment (tutor ↔ course allocation)
  • Timesheet / TimesheetEntry
  • OverflowPost (unclaimed work students can volunteer for)
  • Excusal (a tutor excusing themselves from a session)

Entity relationship diagram

erDiagram
    USER ||--o{ ASSIGNMENT : has
    COURSE ||--o{ ASSIGNMENT : has
    USER ||--o{ TIMESHEET : submits
    COURSE ||--o{ OVERFLOW_POST : generates
    USER ||--o{ OVERFLOW_POST : "volunteers for"

Migrations

Document your migration tool and how to run migrations locally, e.g.:

npm run migrate

Deployment

Document where the database is hosted, backup strategy, and how to point a fresh environment at it.