The backend is a NestJS monorepo with two apps and shared libraries.
backend/
apps/
api/
src/
ingestion-worker/
src/
libs/
config/
contracts/
db/
observability/
prisma/
mkdocs/
Apps
backend/apps/api: REST API servicebackend/apps/ingestion-worker: MQTT ingestion worker and health endpoint
Shared libraries
backend/libs/config: environment validation and config loadersbackend/libs/db: Prisma client and database accessbackend/libs/observability: health checks and loggingbackend/libs/contracts: shared DTOs and schemas