Aurea Docs

Aurea — Monorepo Overview

A bird's-eye view of the Aurea premium immigration & relocation concierge platform and the Bun + Turborepo monorepo that powers it.

Aurea is a full-stack, TypeScript-first monorepo for a premium immigration & relocation concierge service. It combines a public marketing site, a client dashboard, a GraphQL/MCP API, and this documentation site — all managed as a single Bun workspace with Turborepo orchestration.

Workspace topology

aurea/
├── apps/
│   ├── web/          # Next.js 15 + Payload CMS  (port 3000)
│   ├── dashboard/    # Vite + React Router SPA    (port 3001)
│   ├── api/          # NestJS + GraphQL + MCP      (port 4000)
│   └── docs/         # Fumadocs (this site)        (port 3002)
└── packages/
    ├── ui/           # @repo/ui  — shared component library (shadcn/ui, atomic design)
    ├── shared/       # @repo/shared — cross-app utilities & types
    └── tooling/
        ├── eslint-config/      # @repo/eslint-config
        └── typescript-config/  # @repo/typescript-config

Technology stack at a glance

LayerTechnology
RuntimeBun ≥ 1.2, Node ≥ 22
OrchestrationTurborepo 2
Public siteNext.js 15 + Payload CMS 3
Dashboard SPAVite 6 + React Router 7
APINestJS 11 + Apollo GraphQL + MCP SDK
DatabasePostgreSQL via Drizzle ORM
UI primitivesshadcn/ui, Radix UI, Tailwind CSS 4
Type safetyTypeScript 5.9 strict mode, no any
TestingVitest
CIGitHub Actions

Key relationships

  • apps/dashboard talks to apps/api over GraphQL (http://localhost:4000/graphql).
  • apps/web uses Payload CMS as its headless content backend.
  • apps/api exposes an MCP server at POST /mcp for AI-agent integration.
  • All apps share @repo/ui components and @repo/shared utilities.

On this page