Home
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.
Quick links
- Getting started: Requirements, Quickstart
- Configuration: Environment variables, App config guide
- Architecture: Overview, Apps, Libraries
- Operations: Development workflow
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