Skip to main content

Concern

Backend application framework and structure.

Technology

NestJS

Documentation

Version

v10

Implementation

The backend is a standard NestJS app created with nest new backend. Beyond the default scaffold, backend/src/app.module.ts is customized to register the unified response behavior: it registers three exception filters (ZodExceptionFilter, HttpExceptionFilter, AllExceptionsFilter) via APP_FILTER and the ResponseInterceptor via APP_INTERCEPTOR. That way every success response is wrapped as { statusCode, data } and every error is normalized to the shared envelope (see pattern responses). Controllers can return raw data and rely on the interceptor and filters for the contract. The backend start:dev script uses nodemon to watch backend/src and shared/dist, so changes in shared code trigger a restart (see monorepo for the full dev workflow).

Integration

runtime / Node.js

NestJS runs on Node.js (see runtime).

http-server / Express

NestJS uses Express as the default HTTP adapter (see http-server).

routing / controller-layer / service-layer

NestJS provides the structure for routing, controllers, and services. Uses configuration for env and repository-layer (Prisma) for data.