Document control
Field Value Product SOQ Training Management System (TMS) Doc type Master Technical Specification (MTS) Status v0.2 — SOQ requirements baseline Audience Solution managers, product, engineering, compliance
1. Purpose
Define technical principles, module boundaries, quality bars, and acceptance criteria for SOQ TMS — a platform that meets SOQ’s diploma, short course, and WSQ operational requirements with SWDA integration and Xero finance sync.
2. Goals
Deliver SWDA/WSQ-conformant training operations (course runs, enrolments, attendance, assessments).
Operate as three user-facing apps with shared identity and consistent Student 360 data.
Keep SWDA hub and Xero adapter as isolated shared services with full audit trails.
Support CRM -> TMS handoff without losing enquiry-to-enrolment history.
Meet PDPA-aligned governance: consent, access logs, retention, audit.
3. Non-goals (v1)
# Requirement 1 Full talent marketplace / job matching (DSMR ai.HumanCapital scope) 2 AI proctoring at D-GENIO depth (unless added in later phase) 3 Multi-country funding adapters beyond Singapore SWDA/WSQ 4 Native mobile apps (responsive web first) 5 Replacing Xero as general ledger
4. Design principles
TMS is operational source of truth for enrolment, attendance, assessment, pricing, orders.
Adapter over embed — no direct SWDA API calls from UI controllers.
Evidence before funding — claims blocked until attendance/assessment thresholds met.
Configurable policy — e.g. 18-month exemption rule as admin config, not hard-coded.
Audit by construction — money, grades, grant states, and PII access are append-only logged.
5. Quality bars
Area Target Availability 99.9% monthly (business hours critical paths) SWDA submissions Idempotent keys; exactly-once effect Registration/payment PCI via gateway; no card data in TMS DB Accessibility WCAG 2.2 AA on student and public flows Observability Trace ID from registration -> SWDA submission
6. Suggested stack
Layer Choice Web apps Next.js + TypeScript (Admin, Student, Trainer, Public site) API Node (NestJS) or .NET — team preference Database PostgreSQL Queue Redis + workers for SWDA/Xero async jobs Files S3-compatible (documents, recordings, SCORM) Auth OIDC + Singpass adapter + MFA for staff Accounting Xero API (official connector patterns)
7. Security baseline
# Requirement 1 RBAC per Section 10.1 roles 2 Secrets in vault; SWDA credentials never in frontend 3 Data residency Singapore default 4 ISO 27001-aligned control roadmap
8. MTS completion checklist
# Requirement 1 [x] DSMR suite researched 2 [x] SOQ functional requirements documented 3 [x] DSMR vs SOQ comparison 4 [ ] SWDA API inventory from SOQ subscriptions 5 [ ] TPGateway/SWDA field mapping spreadsheet 6 [ ] Xero chart-of-accounts mapping workshop 7 [ ] Threat model v1 8 [ ] MVP screens (WSQ registration + admin enrolment)