Back to Platform
Universal Learning Portal

Data Architecture

Entity relationship diagrams and data models powering the education monitoring platform with 85+ entities and 120+ relationships.

85+
Entities
120+
Relationships
190+
Migrations
10
Entity Groups

Core Data Hierarchy


┌─────────────────────────────────────────────────────────────────────────────────┐
│                          CORE DATA HIERARCHY                                     │
└─────────────────────────────────────────────────────────────────────────────────┘

                              ┌──────────────────┐
                              │   Organisation   │
                              │    (tenant)      │
                              └────────┬─────────┘
                                       │ 1:N
                              ┌────────▼─────────┐
                              │     Country      │
                              │  (Kenya, Ghana)  │
                              └────────┬─────────┘
                                       │ 1:N
                              ┌────────▼─────────┐
                              │     Region       │
                              │ (Province/State) │
                              └────────┬─────────┘
                                       │ 1:N
                              ┌────────▼─────────┐
                              │    District      │◀────────┐
                              │                  │         │ 1:1
                              └────────┬─────────┘   ┌─────┴──────┐
                                       │ 1:N         │  District  │
                              ┌────────▼─────────┐   │  Polygon   │
                              │     School       │   └────────────┘
                              └────────┬─────────┘
                                       │
                    ┌──────────────────┼──────────────────┐
                    │ 1:N              │ 1:N              │ 1:N
             ┌──────▼───────┐   ┌──────▼───────┐   ┌──────▼───────┐
             │   Teacher    │   │    Pupil     │   │ SchoolVisit  │
             └──────────────┘   └──────────────┘   └──────┬───────┘
                                                         │ 1:N
                                                  ┌──────▼───────┐
                                                  │ TeacherVisit │
                                                  └──────┬───────┘
                                                         │ 1:N
                                                  ┌──────▼───────┐
                                                  │PupilAssessment│
                                                  └──────┬───────┘
                                                         │ 1:N
                                                  ┌──────▼────────┐
                                                  │AnswerSection  │
                                                  └───────────────┘

Key Relationships

OrganisationCountry
1:N
CountryRegion
1:N
RegionDistrict
1:N
DistrictSchool
1:N
SchoolTeacher
1:N
SchoolSchoolVisit
1:N
SchoolVisitTeacherVisit
1:N
TeacherVisitPupilAssessment
1:N
MonitorSchoolVisit
1:N
AssessmentDefinitionAssessmentSectionDefinition
1:N
AssessmentSectionDefinitionAssessmentQuestion
1:N
PupilAssessmentAssessmentAnswerSection
1:N

Assessment Data Pipeline


┌─────────────────────────────────────────────────────────────────────────────────┐
│                       ASSESSMENT DATA PIPELINE                                   │
└─────────────────────────────────────────────────────────────────────────────────┘

  DEFINITION (Template)                    INSTANCE (Data Collected)
  ══════════════════════                   ═══════════════════════════

  ┌───────────────────┐                    ┌───────────────────────┐
  │ Assessment        │     creates        │   PupilAssessment     │
  │ Definition        │ ──────────────────▶│                       │
  │ (EGRA Literacy)   │                    │ • pupilId             │
  └─────────┬─────────┘                    │ • assessmentDate      │
            │                              │ • status              │
            │ 1:N                          │ • totalScore          │
            │                              └───────────┬───────────┘
  ┌─────────▼─────────┐                                │
  │ Section           │     records to                 │ 1:N
  │ Definition        │ ──────────────────▶ ┌─────────▼───────────┐
  │ (Letter Sounds)   │                     │  AnswerSection      │
  │ • timed: true     │                     │                     │
  │ • duration: 60s   │                     │ • sectionNumber     │
  └─────────┬─────────┘                     │ • timeElapsed       │
            │                               │ • score / maxScore  │
            │ 1:N                           │ • bracket           │
            │                               └─────────────────────┘
  ┌─────────▼─────────┐
  │ Question          │
  │                   │
  │ • text            │
  │ • correctAnswer   │
  │ • points          │
  └───────────────────┘

Entity Reference

Organisation & Access

OrganisationRoot
idname
Manager
idnameemailadminseniorfinanceloginPasswordauthToken
ManagerProject
idmanager_idproject_id

Geographic Hierarchy

Country
idnameregionLabeldistrictLabelphoneCountryCodecurrencySymbol
Region
idbaseNamenameaveragePrimaryOneClassSize
District
idbaseNamenameduplication_status
DistrictPolygon
idpointsgeometrynortheastsouthwest

Schools & Teachers

School
idnamelatitudelongitudenumberOfVisitsproperties
Teacher
idnamegenderemailratingdbRolespin
PhoneNumber
idnumbermonitor_idteacher_id

Monitoring Visits

SchoolVisit
iddatelatitudelongitudeisCompleteanswersvalidationDecision
TeacherVisit
idanswerscreationId
ProjectForm
idnamedefaultForm

Field Staff

MonitorAbstract
idnameemailjobTitleactivepindtype
ProjectStaffextends Monitor
idstaffType
RegionOfficialextends Monitor
id
CountryOfficialextends Monitor
id

Assessment System

AssessmentDefinition
idname
AssessmentSectionDefinition
idnamenumbertimedscriptanalysisBrackets
AssessmentQuestion
idtextguidancesortOrderinventedWord

Pupil Assessments

Pupil
idnamegendergradedateOfBirth
PupilAssessment
idpupilIdassessmentDatestatustotalScore
AssessmentAnswerSection
idsectionNumberscoremaxScorebracket

Comprehensive Data Model

The data architecture supports the full education monitoring lifecycle from organization setup to assessment analysis.