Back to Platform
Universal Learning Portal

Backend System

A robust Kotlin/Spring Boot server providing APIs, business logic, and data management for the education monitoring platform with multi-tenant support.

85+
Entities
120+
Relationships
250+
Migrations
150+
API Operations

Core Capabilities

Production-tested backend addressing Data-SMARTS requirements

Multi-Tenant Architecture

Complete data isolation between organizations with configurable branding and settings.

Role-Based Access Control

Granular permissions with geographic scope restrictions and feature-level access.

Query DSL

Custom query language for flexible reporting without complex SQL knowledge.

Reporting Engine

Dynamic report generation with customizable templates and export formats.

Soft Delete Pattern

All data is preserved for audit trails with soft deletion across all entities.

Operation-Based API

150+ operations through a consistent, predictable API interface.

System Architecture


┌─────────────────────────────────────────────────────────────────────────────────┐
│                           BACKEND ARCHITECTURE                                   │
└─────────────────────────────────────────────────────────────────────────────────┘

  ┌─────────────────────────────────────────────────────────────────────────────┐
  │                              API LAYER                                       │
  │                                                                              │
  │   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐  │
  │   │  REST API   │    │  Operation  │    │   Batch     │    │    Sync     │  │
  │   │  Endpoints  │    │    DSL      │    │   Import    │    │  Endpoints  │  │
  │   └──────┬──────┘    └──────┬──────┘    └──────┬──────┘    └──────┬──────┘  │
  └──────────┼─────────────────┼─────────────────┼─────────────────┼──────────┘
             │                 │                 │                 │
             └────────────────┬┴─────────────────┴─────────────────┘
                              │
  ┌───────────────────────────┼───────────────────────────────────────────────┐
  │                           │     SERVICE LAYER                              │
  │                           ▼                                                │
  │   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐│
  │   │   Auth      │    │  Business   │    │   Query     │    │  Export     ││
  │   │  Service    │    │   Logic     │    │   Engine    │    │  Service    ││
  │   └─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘│
  └───────────────────────────┬───────────────────────────────────────────────┘
                              │
  ┌───────────────────────────┼───────────────────────────────────────────────┐
  │                           │     DATA LAYER                                 │
  │                           ▼                                                │
  │   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐                   │
  │   │    JPA      │    │   Flyway    │    │  HikariCP   │                   │
  │   │ Repositories│    │ Migrations  │    │    Pool     │                   │
  │   └──────┬──────┘    └──────┬──────┘    └──────┬──────┘                   │
  └──────────┼─────────────────┼─────────────────┼────────────────────────────┘
             │                 │                 │
             └────────────────┬┴─────────────────┘
                              │
                              ▼
                    ┌─────────────────────┐
                    │     PostgreSQL      │
                    │      Database       │
                    │   (85+ Entities)    │
                    └─────────────────────┘

Data Model

85+ entities organized into 10 domain groups

8
Organization & Access
6
Geographic Hierarchy
12
Schools & Teachers
8
Field Staff
10
Monitoring Visits
15
Assessment System
8
Pupil Data
10
Form Specifications
6
Projects & Training
4
Data Quality

API Operations

150+ operations through a consistent, operation-based API interface

School Operations

getSchools()createSchool()updateSchool()mergeSchools()

Visit Operations

getVisits()startVisit()completeVisit()validateVisit()

Assessment Operations

getAssessments()submitAssessment()scoreSection()exportResults()

User Operations

getUsers()createUser()updatePermissions()resetPin()

Report Operations

runReport()exportReport()scheduleReport()getDashboard()

Sync Operations

syncData()resolveConflicts()getChanges()bulkImport()

Technology Stack

Kotlin
1.8.21
Language
Spring Boot
2.5.5
Framework
PostgreSQL
14+
Database
Flyway
Latest
Migrations
HikariCP
Latest
Connection Pool
GCP Cloud Run
Latest
Hosting

Data-SMARTS Requirements Addressed

Data Cleaning

  • Real-time validation
  • Duplicate detection
  • Audit trails
  • Review workflows

Analysis & Reporting

  • Query DSL
  • Dashboard APIs
  • Export engine
  • Report scheduling

Administration

  • Multi-tenant support
  • RBAC permissions
  • User management
  • Geographic hierarchy

AI Integration

  • Audio storage
  • Data structure for ML
  • API extensibility
  • Batch processing

Production-Ready Backend

The backend system has been deployed and refined through real-world use across multiple countries.