Architecture
Multi-tenant. Event-driven. Distributed.OrvexCore is built on modern microservice principles — a NestJS API layer, BullMQ background workers, Prisma multi-schema database, and an event-driven domain model.
Technical details
NestJS API layer
Modular, dependency-injected API built with NestJS and structured around DDD domain modules.
Event-driven domain model
Domain events published on every significant state change, consumed by background workers for async processing.
Prisma multi-schema database
PostgreSQL with 8 isolated schemas (auth, tenancy, fees, academics, payments, audit, events, files).
BullMQ worker queues
Named queues for each domain (user events, payment events, tenancy events) with separate worker processes.
Multi-tenant isolation
Organisation-scoped data with context injection at the framework level — tenancy cannot be bypassed.
Next.js frontend
React 19 + Next.js 16 with server components, server actions, and Tailwind CSS v4 for the admin dashboard.
