From 969e563c9cc269a54301baee58793e02688a19f5 Mon Sep 17 00:00:00 2001 From: ivan-pelly Date: Wed, 18 Feb 2026 15:23:12 -0800 Subject: [PATCH] Updated index to link to db page (and back) --- docs/Index.html | 390 +++++----- docs/db.html | 1912 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 2132 insertions(+), 170 deletions(-) create mode 100644 docs/db.html diff --git a/docs/Index.html b/docs/Index.html index 5c5b78d..bf21ac8 100644 --- a/docs/Index.html +++ b/docs/Index.html @@ -1,210 +1,248 @@ + - + WIN — Student Support & Case Management - + @@ -221,13 +259,8 @@

- + View Repository @@ -350,13 +383,8 @@ Want to contribute? Open a PR with a clear description, screenshots (if UI), and notes on security/privacy impacts.

-
+ Go to GitHub @@ -405,9 +433,30 @@
  • Raul Rosado - Infrastructure & Governance Lead
  • Vraj Patel - Front-End Development & Integration Lead.
  • - + +
    +

    Documentation

    +

    + Explore the technical documentation for the WIN Student Goal Tracker, including the database schema and entity + relationships. +

    +
    + + Database Documentation + + + API Documentation + + + UI Documentation + + + User Manual + +
    +
    @@ -415,4 +464,5 @@ © 2026 WIN Student Goal Tracker — Built for student support, documentation, and accountability. - + + \ No newline at end of file diff --git a/docs/db.html b/docs/db.html new file mode 100644 index 0000000..7ba8d4f --- /dev/null +++ b/docs/db.html @@ -0,0 +1,1912 @@ + + + + + + + WinStudentGoalTracker — Database Documentation + + + + + + + + + + + +
    + + + + +
    + + + + + +
    +
    +
    15
    +
    Tables
    +
    +
    +
    4
    +
    Core tables
    +
    +
    +
    18
    +
    Foreign keys
    +
    +
    +
    5
    +
    Unique keys
    +
    +
    +
    1
    +
    Self-ref FK
    +
    +
    + + +
    +

    Table Definitions

    + + +
    +
    PK Primary Key
    +
    FK Foreign Key
    +
    UQ Unique Key
    +
    IDX Index
    +
    NN NOT NULL
    +
    NULL nullable
    +
    + + +
    +
    Core — No dependencies
    + + +
    +
    +
    +
    permission
    +
    Defines granular access rights. Each row represents a specific + action on a resource within a scope.
    +
    +
    6 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_permissionintNNPK
    namevarchar(100)NULL
    descriptiontextNULL
    resourcevarchar(100)NULL
    actionvarchar(50)NULL
    scopevarchar(50)NULL
    +
    + + +
    +
    +
    +
    role
    +
    User roles that bundle permissions. Referenced by + user + and role_permission. +
    +
    +
    4 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_roleintNNPK
    namevarchar(100)NULL
    descriptiontextNULL
    created_attimestampNULL
    +
    + + +
    +
    +
    +
    role_permission
    +
    Junction table assigning permissions to roles. Many-to-many + between + role and permission. +
    +
    +
    3 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_role_permissionintNNPK
    id_roleintNULLFK IDX + role.id_role
    id_permissionintNULLFK IDX + permission.id_permission
    +
    + + +
    +
    +
    +
    school_district
    +
    Top-level organizational unit. Programs belong to a district. +
    +
    +
    4 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_school_districtintNNPK
    namevarchar(255)NULL
    contact_emailvarchar(255)NULL
    created_attimestampNULL
    +
    +
    + + +
    +
    Users — Authentication & security
    + + +
    +
    +
    +
    user
    +
    Application user accounts with role assignment and login + security + tracking (failed attempts, lockout).
    +
    +
    9 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_userintNNPK
    id_roleintNULLFK IDX + role.id_role
    emailvarchar(255)NULL
    namevarchar(255)NULL
    password_hashvarchar(255)NULL
    password_updated_attimestampNULL
    failed_login_attemptsintNULL0
    locked_untiltimestampNULL
    created_attimestampNULL
    +
    + + +
    +
    +
    +
    password_history
    +
    Stores hashed past passwords per user to enforce password reuse + policies.
    +
    +
    4 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_password_historyintNNPK
    id_userintNULLFK IDX + user.id_user
    password_hashvarchar(255)NN
    created_attimestampNULL
    +
    +
    IDX idx_user_created + (id_user, created_at)
    +
    +
    + + +
    +
    +
    +
    password_reset_token
    +
    Manages password reset flows. Tracks token lifecycle — creation, + expiry, use, and invalidation — plus the requesting IP.
    +
    +
    8 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_password_reset_tokenintNNPK
    id_userintNULLFK IDX + user.id_user
    token_hashvarchar(255)NULLUQ
    expires_attimestampNN
    created_attimestampNULL
    used_attimestampNULL
    invalidated_attimestampNULL
    request_ipvarchar(45)NULL
    +
    +
    UQ uq_token_hash + (token_hash)
    +
    IDX idx_user_created + (id_user, created_at)
    +
    +
    +
    + + +
    +
    Programs — District-level offerings
    + + +
    +
    +
    +
    program
    +
    An educational program offered by a school district. Students + and + users are associated to programs.
    +
    +
    5 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_programintNNPK
    id_school_districtintNULLFK IDX + school_district.id_school_district +
    namevarchar(255)NULL
    descriptiontextNULL
    created_attimestampNULL
    +
    + + +
    +
    +
    +
    user_program
    +
    Junction table assigning users to programs. Supports a + primary-program designation and active/inactive status.
    +
    +
    6 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_user_programintNNPK
    id_userintNULLFK UQ + user.id_user
    id_programintNULLFK UQ + IDX + program.id_program
    is_primarytinyint(1)NULL0
    statusvarchar(20)NULL'active'
    joined_attimestampNULL
    +
    +
    UQ uq_user_program + (id_user, id_program)
    +
    IDX idx_id_program + (id_program)
    +
    +
    +
    + + +
    +
    Students — Enrollment & access
    + + +
    +
    +
    +
    student
    +
    Core student record. Linked to a program and identified by an + opaque + identifier field (e.g. district ID). Tracks enrollment and expected + graduation dates. +
    +
    +
    7 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_studentintNNPK
    id_programintNULLFK IDX + program.id_program
    identifiervarchar(50)NULL
    program_yearintNULL
    enrollment_datedateNULL
    expected_graddateNULL
    created_attimestampNULL
    +
    + + +
    +
    +
    +
    user_student
    +
    Controls which users have access to which students, with + optional + access level differentiation and a primary-counselor flag.
    +
    +
    5 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_user_studentintNNPK
    id_userintNULLFK IDX + user.id_user
    id_studentintNULLFK IDX + student.id_student
    access_levelvarchar(50)NULL
    is_primarytinyint(1)NULL
    +
    +
    + + +
    +
    Goals & Notes — Goal tracking
    + + +
    +
    +
    +
    goal
    +
    Student goals with hierarchical structure (self-referencing + id_goal_parent FK). Each goal belongs to a student and was created by a + user. +
    +
    +
    9 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_goalintNNPK
    id_goal_parentintNULLFK IDX + goal.id_goal (self)
    id_studentintNULLFK IDX + student.id_student
    id_user_createdintNULLFK IDX + user.id_user
    titlevarchar(255)NULL
    descriptiontextNULL
    categoryvarchar(100)NULL
    created_attimestampNULL
    updated_attimestampNULL
    +
    + + +
    +
    +
    +
    health_note
    +
    Free-text health or welfare notes attached to a student, + authored by + a user. Intended for sensitive, restricted-access information.
    +
    +
    5 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_health_noteintNNPK
    id_studentintNULLFK IDX + student.id_student
    id_user_createdintNULLFK IDX + user.id_user
    contenttextNULL
    created_attimestampNULL
    +
    +
    + + +
    +
    Progress — Events & reports
    + + +
    +
    +
    +
    progress_event
    +
    Individual logged events tied to a student and optionally a + specific + goal. The is_sensitive flag marks events requiring restricted + visibility. +
    +
    +
    8 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_progress_eventintNNPK
    id_studentintNULLFK IDX + student.id_student
    id_goalintNULLFK IDX + goal.id_goal
    id_user_createdintNULLFK IDX + user.id_user
    contenttextNULL
    is_sensitivetinyint(1)NULL
    created_attimestampNULL
    updated_attimestampNULL
    +
    + + +
    +
    +
    +
    progress_report
    +
    Periodic summary reports for a student's goal. Identified by + period and year for reporting cycles (e.g. quarters, + semesters). +
    +
    +
    8 columns
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnTypeNullDefaultKeyReferences
    id_progress_reportintNNPK
    id_studentintNULLFK IDX + student.id_student
    id_goalintNULLFK IDX + goal.id_goal
    id_user_createdintNULLFK IDX + user.id_user
    periodvarchar(10)NULL
    yearintNULL
    summarytextNULL
    generated_attimestampNULL
    +
    +
    + +
    +
    +
    + + + + + \ No newline at end of file