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.