Dashboard¶
Next.js 15 admin dashboard for monitoring content pipelines, reviewing trends, and managing the Orion platform.
| Property | Value |
|---|---|
| Port | 3001 |
| Language | TypeScript 5.x |
| Framework | Next.js 15.2 + React 19 |
| Source | dashboard/ |
Tech Stack¶
| Library | Version | Purpose |
|---|---|---|
| Next.js | 15.2 | App Router framework |
| React | 19.x | UI library (Server Components) |
| Tailwind CSS | 4.0 | Utility-first styling |
| Recharts | 3.8 | Data visualization |
| Lucide React | 0.468 | Icon library |
| clsx + tailwind-merge | 2.1 / 2.6 | Conditional class utilities |
Architecture¶
The dashboard uses the App Router (not Pages Router):
dashboard/
src/
app/
layout.tsx # Root layout with providers
page.tsx # Landing page
loading.tsx # Global loading state
error.tsx # Global error boundary
(routes)/ # Route groups
components/ # Shared components
lib/ # Utilities, API client, helpers
Key Patterns¶
- Server Components by default --
"use client"added only for interactivity - Server Actions for mutations -- No API routes unless necessary
- Tailwind utility classes only -- No CSS modules or styled-components
cn()helper -- Combinesclsx+tailwind-mergefor conditional classes- Strict TypeScript -- No
anytypes
Key Pages¶
- System Health -- System overview (host info, resource bars), service status with uptime/queue sizes for all 7 services, infrastructure panel (Redis/PostgreSQL), and multi-GPU monitoring with 1-second polling
- Settings -- Tabbed interface with four tabs: Providers (provider/model config with Test Connection and Model Parameters), API Keys (manage cloud provider keys), Pipeline (generation, trend detection, and publishing settings), and System (dashboard preferences, data management, environment info)
Configuration¶
| Variable | Default | Description |
|---|---|---|
NEXT_PUBLIC_GATEWAY_URL |
http://localhost:8000 |
Gateway API base URL |
Commands¶
# Development
cd dashboard && npm run dev
# Production build
cd dashboard && npm run build
# Start production server
cd dashboard && npm run start
# Lint
cd dashboard && npm run lint
Visual Guide Available
See the Dashboard Tour for a complete walkthrough of every page with screenshots, or try Demo Mode to explore without a backend.