mirror of
https://github.com/AmanTahiliani/box-box.git
synced 2026-08-07 19:56:18 -04:00
Add React race hub frontend
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# Phase 6 React Race Hub Analytics
|
||||
|
||||
## Purpose
|
||||
|
||||
Phase 6 expands the React Race Hub from a classification/grid slice into a more
|
||||
useful race analysis surface. Phase 5 proved the React stack, API contract,
|
||||
desktop layout, and phone table behavior. This phase should add the first
|
||||
bespoke F1 analysis views without replacing the whole Web app.
|
||||
|
||||
This remains a frontend-led phase for Claude.
|
||||
|
||||
## Scope
|
||||
|
||||
Add Race Hub tabs or segmented views for:
|
||||
|
||||
- Overview / Classification
|
||||
- Starting Grid
|
||||
- Strategy
|
||||
- Position Evolution
|
||||
- Dataset Status
|
||||
|
||||
Strategy and position views should be built from local-first backend data only
|
||||
when the backend exposes the needed datasets. If laps/stints/positions are not
|
||||
yet available through `/api/v1/race-hub`, add clear missing states instead of
|
||||
fake charts.
|
||||
|
||||
## Backend Contract
|
||||
|
||||
Current Race Hub API:
|
||||
|
||||
```text
|
||||
GET /api/v1/race-hub?session_key=...
|
||||
```
|
||||
|
||||
Current datasets:
|
||||
|
||||
- meeting
|
||||
- session
|
||||
- drivers
|
||||
- results
|
||||
- starting_grid
|
||||
|
||||
If analytics require laps, stints, pit stops, or position samples, keep backend
|
||||
changes small and explicit. Do not reintroduce direct OpenF1 reads from the
|
||||
React app.
|
||||
|
||||
## Design Direction
|
||||
|
||||
Improve the information hierarchy without drifting into generic dashboard UI:
|
||||
|
||||
- stronger timing-wall readability;
|
||||
- compact controls;
|
||||
- minimal panel framing;
|
||||
- no decorative gradients or card sludge;
|
||||
- team colors as data accents;
|
||||
- mobile views that fit the active columns rather than relying on horizontal
|
||||
scrolling.
|
||||
|
||||
## Non-Goals
|
||||
|
||||
Do not include these in Phase 6:
|
||||
|
||||
- live timing React rewrite;
|
||||
- full season calendar rebuild;
|
||||
- settings UI;
|
||||
- ingest UI;
|
||||
- static archive support;
|
||||
- replacing the old Go-served Web UI entirely.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
Phase 6 is complete when:
|
||||
|
||||
- Race Hub has an ergonomic tab/segmented-view structure;
|
||||
- classification and grid remain intact;
|
||||
- analytics views show either real local data or honest missing states;
|
||||
- desktop and phone layouts have been visually checked;
|
||||
- frontend tests/build pass;
|
||||
- Go build still passes.
|
||||
Reference in New Issue
Block a user