# admin-compliance Next.js 15 dashboard for BreakPilot Compliance — SDK module UI, company profile, DSR, DSFA, VVT, TOM, consent, AI Act, training, audit, change requests, etc. Also hosts 96+ API routes that proxy/orchestrate backend services. **Port:** `3007` (container: `bp-compliance-admin`) **Stack:** Next.js 15 App Router, React 18, TailwindCSS, TypeScript strict. ## Architecture (Phase 3 — in progress) ``` app/ ├── / │ ├── page.tsx # Server Component (≤200 LOC) │ ├── _components/ # Colocated UI, each ≤300 LOC │ ├── _hooks/ # Client hooks │ └── _server/ # Server actions ├── api//route.ts # Thin handlers → lib/server// lib/ ├── / # Pure helpers, zod schemas └── server// # "server-only" logic components/ # App-wide shared UI ``` See `../AGENTS.typescript.md`. ## Run locally ```bash cd admin-compliance npm install npm run dev # http://localhost:3007 ``` ## Tests ```bash npm test # Vitest unit + component tests npx playwright test # E2E npx tsc --noEmit # Type-check npx next lint ``` ## Known debt - `lib/sdk/types.ts` has been split: it is now a barrel re-export to `lib/sdk/types/` (12 domain files: enums, company-profile, sdk-steps, and others). - `lib/sdk/tom-generator/controls/loader.ts` has been split: it is now a barrel re-export to `categories/` (8 category files). - Phase 3 refactoring is ongoing — several large page files remain and are being addressed incrementally. - **0 test files** for the page layer. Adding Playwright smoke + Vitest unit coverage is ongoing Phase 3 work. ## Don't touch - Backend API paths without updating `backend-compliance/` in the same change. - `lib/sdk/types/` barrel re-exports — add new types to the appropriate domain file, not back into the root.