Files
k-mood/spa
Gabriel Kaszewski 128e66abda
Some checks failed
CI / ci (push) Failing after 1m42s
spa: restore metrics on dashboard; it was the only route to the metrics page
hiding the card when nothing was recorded made /metrics unreachable, so an
account with no readings could never enter its first one. always shown now,
with today's readings or a prompt. second entry point on stats.

also: metric inputs had no label association, so all eight announced as
'Not recorded' (the placeholder). minutes read as 7h 12m, not 432.
2026-08-28 15:11:03 +02:00
..
2026-08-25 23:24:36 +02:00
2026-08-25 23:24:36 +02:00
2026-08-26 20:58:14 +02:00
2026-08-25 23:24:36 +02:00
2026-08-25 23:24:36 +02:00
2026-08-26 20:58:14 +02:00
2026-08-25 23:24:36 +02:00
2026-08-25 23:24:36 +02:00

K-Mood SPA

Frontend for K-Mood, a self-hosted mood tracking journal. Log moods, activities, photos, and voice memos. Track trends, streaks, and correlations over time.

Stack

React 19, TanStack Router (file-based), TanStack Query, Axios, Zod, Tailwind v4, shadcn/ui, Recharts, Vite

Getting started

bun install
bun dev          # http://localhost:5173

Set VITE_API_URL in .env to point at the Rust API (defaults to same origin).

Scripts

Command Description
bun dev Dev server on port 5173
bun run build Production build
bun run preview Preview production build
bun run typecheck Type check without emitting
bun test Run tests
bun run lint Lint
bun run format Format with Prettier

Project structure

src/
  api/           # Zod schemas + Axios client
  components/    # UI and feature components
  hooks/         # TanStack Query hooks
  routes/        # File-based routes (TanStack Router)
  lib/           # Utilities