Architecture
Overview
Section titled “Overview”SoftSys Edu Analytics is a multi-tenant learning analytics stack for Moodle. The local_ssea plugin captures activity, Workers ingest and process events into D1, and scheduled jobs write report artifacts to R2 plus KV snapshots. The SPA (ssea-dashboard) and the plugin are read-only views on that layer.
Main components
Section titled “Main components”| Piece | Role |
|---|---|
| Moodle plugin | Events + dimension sync, JWT with role |
ssea-ingest | Edge ingestion |
Queue + ssea-processor | Dedup, D1 upserts |
ssea-report-worker | Hourly jobs → JSON/CSV in R2 + KV snapshots |
ssea-api | Authenticated REST, tenant isolation, role middleware |
ssea-dashboard | React console (Cloudflare Pages) |
Canonical flow (short)
Section titled “Canonical flow (short)”- Moodle sends events and sync tasks to ingest.
- Processor updates facts and dimensions in D1.
- Report worker materialises aggregates to R2/KV.
- Dashboard and plugin consume precomputed reads only.
See Data flow for a step-by-step narrative.