636fba170fc5a15a6d4e2457ca0ac05bb8ca59bf
- vue-router with list (/) and editor (/radar/:id) views - localStorage persistence via useRadars() composable - types.ts: Radar / Criterion / Profile / Score with cardinality constants - RadarChart.vue: SVG renderer (rings, axes, profile polygons, labels, legend) - CriteriaEditor / ProfilesEditor / ScoreGrid components - PNG export: SVG → canvas → blob, download + clipboard copy - Remove 'coming soon' placeholder from App.vue
product-radar
Compare up to 5 Profiles across 3–7 Criteria on a 0–5 scale, export the radar chart as PNG.
Deployed at https://product-radar.apoena.dev.
See CONTEXT.md for the domain glossary.
Stack
- Vite + Vue 3 + TypeScript
- Tailwind CSS v4 + DaisyUI
- Solo, browser-local persistence (IndexedDB or localStorage)
Develop
pnpm install
pnpm dev # http://localhost:5173
pnpm build # production build into ./dist
Deploy
Pushes to main are picked up by Coolify at https://platform.apoena.dev. The Dockerfile builds the SPA and serves it through nginx on port 80.
Description
Languages
Vue
67.1%
TypeScript
30%
HTML
1.5%
CSS
0.8%
Dockerfile
0.6%