Skip to main content

Backend Onboarding

This track is for developers working mainly in NestJS services and queue workers.

Main repos

Core services:

  • mvp1-authentication-service
  • mvp1-setting-service
  • mvp2-data-service
  • mvp3-ticket-service
  • mvp3-gsb-service
  • mvp3-ngoss-service
  • mvp3-nocgrid-service
  • mvp3-nocpro-service
  • mvp3-tmf-service
  • mvp6-vital-service

Queue workers:

  • mvp3-caution-report-queue-service
  • mvp3-changedp-queue-service
  • mvp3-ctt-queue-service
  • mvp3-gsb-queue-service
  • mvp3-kci-queue-service
  • mvp6-tass-queue-service
  • mvp6-vital-queue-service

What to install

  • Node.js
  • pnpm
  • Git submodule support

Shared setup pattern

Most backend repos use:

git submodule update --init --recursive
cd share-entity
git checkout development
cd ..
pnpm install

Config files

Usually:

  • copy .env.example to .env
  • or copy .env.sample to .env for queue workers

Infra you will likely need

  • MariaDB
  • Redis
  • RabbitMQ

Main local commands

Run one service:

pnpm run start:dev

Build:

pnpm run build

Tests:

pnpm run test
pnpm run test:e2e
pnpm run test:cov

Minimum backend to start

Team guidance says the minimum backend is authentication.

In practice, backend work usually means:

  • auth service for auth-related work
  • one target domain service
  • RabbitMQ if queue behavior is involved
  • Redis if cache or lock behavior is involved
  • DB access for almost all service work

Common backend tasks

  • add or change controller endpoints
  • change DB access in data/ providers
  • inspect route prefixes in routing.module.ts
  • trace RMQ producer or consumer behavior
  • inspect Swagger docs endpoints per service

Common backend gotchas

  • port conflicts on default 3004
  • queue worker not started for async flow
  • missing replica DB env vars
  • missing RabbitMQ config
  • mismatch between service code and share-entity branch