AquaLink IoT is a NestJS monorepo that ships two backend services:

  • API service for REST endpoints, auth, and domain modules
  • Ingestion worker for MQTT telemetry intake

This documentation is organized to help you get started quickly, understand the system architecture, and operate the services in development or production-like environments.

Tech stack

  • Node.js 24 LTS + TypeScript
  • NestJS 11 (API + ingestion worker)
  • Prisma + PostgreSQL
  • MQTT client for telemetry ingestion
  • Zod for config validation
  • JWT/passport auth, argon2
  • Swagger, Prometheus (prom-client), Pino logging

Repository layout

backend/
  apps/
    api/
    ingestion-worker/
  libs/
    config/
    contracts/
    db/
    observability/
  prisma/
mkdocs/
specs/
compose.dev.yaml
compose.prod.yaml