- Copy admin-dashboard-web → dashboards/admin-web - Copy tracker-dashboard-web → dashboards/tracker-web - Update pnpm-workspace.yaml to include dashboards/* - Replace file: refs with workspace:* for @bytelyst/* packages - Replace all hardcoded LysnrAI/lysnn.com branding with generic platform refs - Make telemetry use NEXT_PUBLIC_PRODUCT_ID / PRODUCT_ID env vars - Update mock credentials, seed data, invitation codes, placeholders - Update READMEs, e2e tests, unit tests for product-agnostic content - Both dashboards pass tsc --noEmit clean
42 lines
1.6 KiB
Markdown
42 lines
1.6 KiB
Markdown
# Tracker Dashboard
|
|
|
|
Web dashboard for the Tracker Service — manage feature requests, bugs, and tasks.
|
|
Built with Next.js + Tailwind CSS + React.
|
|
|
|
## Port
|
|
|
|
`3003` (configurable in `package.json` scripts)
|
|
|
|
## Pages
|
|
|
|
| Route | Description |
|
|
| ----------------------- | -------------------------------------------------------------- |
|
|
| `/login` | Login via platform-service credentials |
|
|
| `/dashboard` | Overview with stats by type, status, priority |
|
|
| `/dashboard/items` | Items list with filtering, search, create, delete |
|
|
| `/dashboard/board` | Kanban board with drag-free status transitions |
|
|
| `/dashboard/items/[id]` | Item detail with edit, status/priority change, comments, votes |
|
|
|
|
## API Proxy Routes
|
|
|
|
| Route | Proxies to |
|
|
| ----------------- | --------------------------------------- |
|
|
| `/api/auth/login` | `platform-service` POST /api/auth/login |
|
|
| `/api/auth/me` | `platform-service` GET /api/auth/me |
|
|
| `/api/tracker/*` | `tracker-service` /api/\* |
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
cp .env.local.example .env.local # fill in values
|
|
npm install
|
|
npm run dev # starts on port 3003
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
See `.env.local.example` for required variables:
|
|
- `PLATFORM_API_URL` — Platform service URL (default `http://localhost:4003`)
|
|
- `JWT_SECRET` — Shared JWT secret
|
|
- `PRODUCT_ID` — Product scope (e.g., `lysnrai`, `chronomind`, `nomgap`)
|