Roosevelt Docs
Roosevelt Docs
Welkom
Architecture
ArchitectureNx MonorepoTech StackArchitecture Decision Records
Workflows
Infrastructure
AI & Automation
API Reference
Design System
Guides
Architecture

Nx Monorepo

Structuur en configuratie van de Nx monorepo

Nx Monorepo

Roosevelt OPS gebruikt een Nx workspace met pnpm als package manager.

Structuur

roosevelt-ops/
├── apps/
│   ├── api/          # Fastify REST API (port 3001)
│   ├── marketing/    # Marketing site — static export (port 3001 dev)
│   ├── web/          # Next.js dashboard (port 3000)
│   ├── portal/       # Client portal (port 3002)
│   └── docs/         # Deze documentatie (port 3002 dev)
├── packages/
│   ├── analytics-layer/   # Analytics & telemetrie
│   ├── feature-flags/     # Feature flag management
│   ├── pipeline-core/     # Data pipeline utilities
│   ├── portal-auth/       # Authenticatie voor portal
│   └── time-tracking/     # Time tracking utilities
└── infrastructure/
    ├── roosevelt-dev/     # Caddy config, deploy scripts
    └── metabase/          # Metabase config

Waarom Nx? (ADR-006)

  • Computation caching — ongewijzigde packages worden niet opnieuw gebuild
  • pnpm workspaces — efficiënter disk gebruik via hard links
  • Affected commands — nx affected:build beperkt CI tijd
  • Code generators — consistente code-generatie

Veelgebruikte Commando's

# Development starten
pnpm dev                          # Nx dev web (main app)
 
# Specifieke app builden
pnpm --filter @roosevelt/docs build
pnpm --filter @roosevelt/marketing build
 
# Alleen gewijzigde packages testen
pnpm nx affected:test
 
# Database
pnpm db:types    # TypeScript types genereren vanuit Supabase
pnpm db:migrate  # Migraties uitvoeren

Path Aliases

{
  "@roosevelt/feature-flags": "./packages/feature-flags/src/index.ts"
}

Previous

Architecture

Next

Tech Stack

On this page

Nx MonorepoStructuurWaarom Nx? (ADR-006)Veelgebruikte Commando'sPath Aliases