learning_ai_common_plat/dashboards/tracker-web
saravanakumardb1 acf7c36cda feat(tracker-web): dynamic, owner-scoped project switcher via /products/mine
Wires the switcher to real per-user data instead of a static list:

- New /api/products/[...path] proxy to platform-service (mirrors the fleet
  proxy), exposing GET /api/products/mine.
- ProductProvider fetches the caller's owner-scoped projects on mount (when a
  tracker_token is present) and uses them as the switcher list. Best-effort:
  any failure / empty result / unauthenticated state keeps the configured
  fallback list, so dev and logged-out rendering still work.

Combined with the earlier config-driven list + auto-hide, the switcher now
reflects the authenticated user's projects on a generic platform.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-01 16:48:27 -07:00
..
docs docs(tracker-web): record backend enablers for UX-12.3/13.1 2026-05-29 07:31:55 -07:00
e2e feat(fleet-web): harden budget bar, surface SSE polling, allow checkpoint in patchJob 2026-05-30 20:35:05 -07:00
launchd feat(tracker-web): macOS LaunchAgent keep-alive for the fleet web tracker 2026-06-01 01:46:53 -07:00
public feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
src feat(tracker-web): dynamic, owner-scoped project switcher via /products/mine 2026-06-01 16:48:27 -07:00
.bundlesizerc.json feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
.env.example feat(tracker-web): make product switcher generic — configurable list + auto-hide 2026-06-01 16:27:14 -07:00
.env.local.example feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
.gitignore fix(tracker-web): format markdown + ignore e2e artifacts in prettier/git 2026-05-28 19:40:54 -07:00
.nvmrc feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
.prettierignore fix(tracker-web): format markdown + ignore e2e artifacts in prettier/git 2026-05-28 19:40:54 -07:00
Dockerfile fix(dashboards): restore runtime and expose internal ops health 2026-03-31 07:26:43 +00:00
eslint.config.mjs chore(tracker-web): add @bytelyst/ui UI-drift ratchet eslint rule (CC.6) 2026-05-28 20:39:20 -07:00
next.config.ts fix(tracker-web): replace broken webpack alias with transpilePackages — build now succeeds 2026-02-28 12:11:37 -08:00
package-lock.json feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
package.json fix(tracker-web): stable test DOM env + working localStorage (Node 25) 2026-05-31 04:12:34 -07:00
playwright.config.ts test(tracker-web): isolate e2e dev server 2026-05-30 19:36:07 +00:00
postcss.config.mjs feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
README.md fix(tracker-web): format markdown + ignore e2e artifacts in prettier/git 2026-05-28 19:40:54 -07:00
tsconfig.json feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
vercel.json feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
vitest.config.ts fix(tracker-web): stable test DOM env + working localStorage (Node 25) 2026-05-31 04:12:34 -07:00
vitest.setup.ts fix(tracker-web): stable test DOM env + working localStorage (Node 25) 2026-05-31 04:12:34 -07:00

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

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)