アーキテクチャ概要
モノレポ構成
commerce-gateway/├── apps/│ ├── web/ Next.js 15 (App Router) フロントエンド│ ├── api/ NestJS 11 API サーバー│ └── docs/ Astro Starlight ドキュメント├── packages/│ ├── db/ Drizzle ORM + PostgreSQL (マルチテナント RLS)│ ├── contracts/ Zod スキーマ (Web/API 共有の型)│ ├── ui/ 共有 UI + デザイントークン + Storybook│ └── tsconfig/ 共有 TypeScript 設定├── tooling/│ └── e2e/ Playwright E2E テスト└── infra/ Pulumi (TypeScript) による AWS インフラ- パッケージマネージャ: pnpm workspaces
- タスクランナー: Turborepo(依存順ビルド・キャッシュ・影響分析)
- 依存方向は
apps → packagesの一方向。
技術スタック
| 領域 | 採用技術 |
|---|---|
| フロントエンド | Next.js 15 / React 19 / Tailwind CSS / shadcn/ui |
| API | NestJS 11 |
| DB アクセス | Drizzle ORM + PostgreSQL |
| マルチテナント | 共有DB + tenant_id 行分離 + RLS |
| ドキュメント | Astro Starlight |
| UI カタログ | Storybook |
| E2E | Playwright |
| IaC | Pulumi (TypeScript) → AWS |
選定理由は各 ADR を参照。