Developer Documentation
Integration guides, LTI 1.3 setups, telemetry schemas, and API references for Nomevex.
Architecture Overview
Understand the system architecture, data flow, and component interactions.
System Topology
Nomevex follows a modular monolith architecture with clearly separated concerns:
- Backend API — Fastify-based HTTP server with WebSocket support
- PostgreSQL Database — Primary data store with row-level security
- Redis Cache — Session state, rate limiting, and pub/sub
- SvelteKit Portals — Four separate frontend applications (Admin, Student, Instructor, Verification)
- NAE (NOMEVEX Assessment Environment) — Native Rust application with embedded WebView
- AI Inference Engine — On-device TensorFlow Lite models
Data Flow
During a proctored exam session, data flows through the following pipeline:
- Client — NAE captures events locally (keystrokes, focus changes, AI detections)
- Local Processing — AI inference runs on-device; events are hashed into Merkle tree
- Transmission — Encrypted event metadata sent via WebSocket to backend
- Backend — Validates, stores, and broadcasts events to authorized viewers
- Anchoring — Merkle roots periodically anchored to blockchain/transparency ledger
- Verification — Independent auditors verify session integrity via Verification Portal
Key Design Decisions
- Local-first: students can take exams offline; data syncs automatically on reconnect
- Privacy-preserving: raw video/audio never leaves the client device
- Verifiable: cryptographic proofs enable independent audit without data access
- Scalable: horizontal scaling via stateless API servers and PostgreSQL replication
Next: Deployment Guide