7 October 2026 · 1 min read

An Nx monorepo for management software, splitting apps and libraries

How I organise an Angular + NestJS management system in an Nx monorepo so it stays tidy for years.

Management software lives a long time: new features, new teams, new developers. An Nx monorepo keeps it tidy with one simple rule: apps are thin, logic lives in libraries.

The layout

apps/
  web/        Angular: routing and composition only
  api/        NestJS: bootstrap and modules only
libs/
  shared/types        types shared by frontend and backend
  orders/data-access  API calls and state
  orders/feature      pages and components for the orders domain

Why it works

  • Shared types keep frontend and backend in sync.
  • Nx dependency rules stop one feature from importing another.
  • nx affected only tests and builds what changed, so CI stays fast.