# Kimai Heatmap Plugin ## What This Is A Kimai dashboard widget that displays a GitHub-style activity heatmap visualizing time tracking data. Built as a Symfony bundle plugin for personal time tracking, rendering an interactive d3.js calendar heatmap with click-through navigation, project filtering, streak tracking, and summary stats. ## Core Value At a glance, see where your time went — a visual map of tracking activity that makes patterns obvious without clicking through reports. ## Requirements ### Validated - ✓ Dashboard widget renders a d3.js calendar heatmap of time entries — v1.0 - ✓ Filterable by project — v1.0 - ✓ Clicking a day cell navigates to Kimai's timesheet view filtered to that day — v1.0 - ✓ Color scheme uses Kimai's theme CSS variables — v1.0 (partial: tooltip/labels/empty use CSS vars, color scale hardcoded green) - ✓ Nix flake/devshell provides a local Kimai instance with seeded database — v1.0 - ✓ PHPUnit tests for backend (API, data aggregation) — v1.0 - ✓ JavaScript tests for the d3 heatmap component — v1.0 - ✓ Streak indicator, summary stats, weekend styling — v1.0 ### Active - [ ] Switchable visualization modes (year, week, day, combined day/hour) - [ ] Native TomSelect entity pickers with customer→project→activity cascade - [ ] Activity filtering via cascading pickers - [ ] Toggle between hours-per-day and entry-count display ## Current Milestone: v1.1 Modes & Filtering **Goal:** Multiple visualization modes and richer filtering using Kimai-native UI components **Target features:** - Switchable views: year-mode, week-mode (day-of-week), day-mode (time-of-day), combined day/hour - Native TomSelect entity pickers replacing plain `