# Aphoria Dashboard Code quality assurance dashboard for Aphoria - the code-level truth linter powered by Episteme. ## Features - **Scans**: Run and view Aphoria code scans with conflict detection - **Claims**: Manage authored claims (architectural decisions, safety invariants, policy requirements) - **Corpus**: Browse and filter the community corpus of authoritative sources (RFCs, OWASP, CWEs) ## Quick Start ```bash # Install dependencies npm install # Run development server (port 18189) npm run dev # Build for production npm run build # Start production server (port 18189) npm start ``` ## Architecture - **Framework**: Next.js 16 with App Router - **UI**: TailwindCSS 4 + shadcn/ui components - **Port**: 18189 (Aphoria Dashboard) - **API Integration**: Proxies requests to StemeDB API at port 18180 ## API Integration The dashboard uses Next.js rewrites to proxy API requests: ```typescript // All /v1/* requests are proxied to http://localhost:18180/v1/* // This is configured in next.config.ts ``` Leave `NEXT_PUBLIC_STEMEDB_API_URL` empty in `.env.local` to use proxy mode. ## Project Structure ``` src/ ├── app/ # Next.js app router pages │ ├── scans/ # Aphoria scans route │ ├── claims/ # Claims management route │ ├── corpus/ # Corpus browser route │ └── layout.tsx # Root layout with Aphoria branding ├── components/ │ ├── corpus/ # Corpus browser components │ ├── scans/ # Scans panel components │ ├── claims/ # Claims management components │ ├── layout/ # Sidebar, header, theme toggle │ ├── shared/ # Shared components (error, api-status) │ └── ui/ # shadcn/ui components └── lib/ ├── api/ # API client (includes both StemeDB + Aphoria) └── utils.ts # Utilities ``` ## Related Projects - **Aphoria Backend**: `applications/aphoria/` - Rust CLI and extractor engine - **StemeDB Dashboard**: Port 18188 - Database admin dashboard - **StemeDB API**: Port 18180 - Backend API ## Development The dashboard shares some infrastructure with StemeDB Dashboard (UI components, API client, utilities). See `applications/DASHBOARD_SYNC.md` for sync procedures if you update shared code.