Technical Architecture

Built on proven, open-source technologies that ensure scalability, maintainability, and enable government ownership without vendor lock-in.

System Architecture


┌─────────────────────────────────────────────────────────────────────────┐
│                           CLIENT LAYER                                   │
├─────────────────────────────────────────────────────────────────────────┤
│    Android App     │     iOS App      │     Web Browser                 │
│   (Offline-first)  │  (Offline-first) │    (React SPA)                  │
└─────────────────────────────────────────────────────────────────────────┘
                                  │
                                  ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                    LOAD BALANCER / CDN                                   │
└─────────────────────────────────────────────────────────────────────────┘
                                  │
                                  ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                    SPRING BOOT APPLICATION                               │
├─────────────────────────────────────────────────────────────────────────┤
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐                   │
│  │  Web Layer   │  │   Security   │  │   Session    │                   │
│  │  (WebFlux)   │  │  (Spring)    │  │  Management  │                   │
│  └──────────────┘  └──────────────┘  └──────────────┘                   │
├─────────────────────────────────────────────────────────────────────────┤
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐                   │
│  │  Operations  │  │   Services   │  │  Schedulers  │                   │
│  │  (Routes)    │  │  (Business)  │  │   (Async)    │                   │
│  └──────────────┘  └──────────────┘  └──────────────┘                   │
├─────────────────────────────────────────────────────────────────────────┤
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐                   │
│  │ JPA/Hibernate│  │  Query DSL   │  │   Flyway     │                   │
│  │  Entities    │  │  (Custom)    │  │  Migrations  │                   │
│  └──────────────┘  └──────────────┘  └──────────────┘                   │
└─────────────────────────────────────────────────────────────────────────┘
                                  │
                                  ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                      DATA & STORAGE LAYER                                │
├─────────────────────────────────────────────────────────────────────────┤
│   PostgreSQL      │      AWS S3           │    External APIs            │
│  (Cloud SQL)      │   (Assets/Files)      │   (SMS, Kobo, etc)          │
└─────────────────────────────────────────────────────────────────────────┘
            

Technology Stack

Backend

Kotlin1.8.21

Modern, type-safe JVM language

Spring Boot2.5.5

Enterprise Java framework

PostgreSQL14+

Robust relational database

FlywayLatest

Database migrations

HikariCPLatest

High-performance connection pooling

Frontend

React18

Component-based UI library

Tailwind CSS3.x

Utility-first CSS framework

kotlinx-htmlLatest

Type-safe HTML DSL

Mobile

AndroidKotlin + Jetpack

Native Android development

iOSSwift

Native iOS development

Infrastructure

AWS Cape Townaf-south-1

South African hosting

Google Cloud SQLManaged

PostgreSQL hosting

AWS S3Standard

File storage

DockerLatest

Containerization

Security & Compliance

  • Data encrypted at rest and in transit
  • POPIA compliant data handling
  • Role-based access control
  • Audit logging for all operations
  • Regular security updates
  • South Africa-based hosting

Open Source Model

The platform is designed for government co-ownership with no licence fees:

  • Full source code access provided
  • Comprehensive technical documentation
  • Government can independently operate, modify, and extend
  • No vendor lock-in
  • Third-party maintenance possible

Core Data Model


Organisation (Multi-tenant root)
├── Manager (User accounts)
└── Country
    ├── Region
    │   ├── District
    │   │   ├── School
    │   │   │   ├── Teacher
    │   │   │   └── SchoolVisit
    │   │   │       └── TeacherVisit
    │   │   │           └── PupilAssessment
    │   │   └── DistrictPolygon
    │   └── Project
    │       ├── ProjectForm
    │       ├── ProjectStaff
    │       ├── Training
    │       └── ProjectEvaluationMetric
    ├── CountryTerm
    ├── Monitor (Field staff)
    └── AssessmentDefinition