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
Organisation→Country
1:NCountry→Region
1:NRegion→District
1:NDistrict→School
1:NSchool→Teacher
1:NSchool→SchoolVisit
1:NSchoolVisit→TeacherVisit
1:NTeacherVisit→PupilAssessment
1:NMonitor→SchoolVisit
1:NAssessmentDefinition→AssessmentSectionDefinition
1:NAssessmentSectionDefinition→AssessmentQuestion
1:NPupilAssessment→AssessmentAnswerSection
1:NAssessment 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.