Roosevelt Docs

Architecture Decision Records

Architectuurbeslissingen en de motivatie erachter

Architecture Decision Records (ADRs)

ADRs documenteren significante architectuurbeslissingen, de context en de gevolgen.

ADR-005: Modular Monolith

Status: Accepted | Datum: 2026-02-26

Beslissing

Twee primaire applicaties met interne module-grenzen:

  1. Next.js (App Router) — frontend + SSR, dashboard, portal
  2. Fastify API — REST API voor agent-facing endpoints

Waarom niet Microservices?

  • Team < 10 personen: operationele overhead niet gerechtvaardigd
  • Geen service mesh, geen service discovery, geen inter-service versioning nodig
  • Eenvoudigere lokale development setup
  • Snellere iteratie

Trade-offs

✅ Voordelen⚠️ Nadelen
Geen distributed complexityHorizontaal schalen van volledige app
Gedeelde transacties (één DB)Risico op slijten module-grenzen
Lager deployment risico
Makkelijker refactoren

ADR-006: Nx Monorepo met pnpm

Status: Accepted | Datum: 2026-02-26

Beslissing

Nx workspace met pnpm als package manager voor code sharing tussen apps.

Rationale

  • Computation caching: ongewijzigde packages worden niet opnieuw gebuild
  • pnpm: efficiënter disk gebruik via hard links versus npm/yarn
  • nx affected:* commands: beperkt CI tijd significant
  • Één codebase voor alle apps maakt refactoring eenvoudig

ADR-007 t/m ADR-012

Zie de volledige ADR index in de repository: docs/decisions/INDEX.md

ADRs dekken onder andere:

  • Database keuze (Supabase)
  • Authenticatie strategie (Clerk)
  • Deployment infrastructuur (Hetzner + Caddy)
  • Testing strategie (Vitest + Playwright)

On this page