feat: v0.1.4 — device intelligence dashboard

Add tabbed dashboard at /dashboard/ with three D3.js visualizations:
- Vendor treemap (devices grouped by type and vendor)
- SSID social graph (force-directed, shared probed SSIDs as edges)
- Fingerprint clusters (packed circles by device behavior)

Intelligence API endpoints at /api/v1/intelligence/ with param
validation. Dashboard built on htmx + Pico CSS dark theme + D3 v7,
all vendored locally (make vendor). 13 new tests (59 total).
This commit is contained in:
user
2026-02-06 18:59:53 +01:00
parent c1f580ba16
commit dfbd2a2196
27 changed files with 1177 additions and 15 deletions

View File

@@ -1,8 +1,8 @@
# ESP32-Web Tasks
**Last Updated:** 2026-02-05
**Last Updated:** 2026-02-06
## Current Sprint: v0.1.4 — Zones & Presence
## Current Sprint: v0.1.5 — Zones & Presence
### P1 - High
- [ ] Zone model (name, description, location)
@@ -16,9 +16,20 @@
- [ ] Dwell time analysis
- [ ] Presence history endpoint
### P3 - Low (carried from v0.1.3)
- [ ] Add pagination to all list endpoints
- [ ] Add request logging middleware
### P2 - Dashboard (v0.2.0)
- [ ] Presence timeline (Gantt chart, low effort)
- [ ] Deauth attack timeline (alert overlay, low effort)
## Completed: v0.1.4 — Device Intelligence Dashboard
- [x] Base dashboard layout (htmx + Pico CSS + D3.js dark theme)
- [x] Vendor treemap visualization (`/api/v1/intelligence/vendor-treemap`)
- [x] SSID social graph visualization (`/api/v1/intelligence/ssid-graph`)
- [x] Fingerprint clusters visualization (`/api/v1/intelligence/fingerprint-clusters`)
- [x] Jinja2 base template with tab navigation
- [x] Vendored static assets: Pico CSS, htmx, D3.js v7 (`make vendor`)
- [x] Dashboard + intelligence API tests (13 new tests, 59 total)
- [x] Pagination totals, request logging, data retention CLI
## Completed: v0.1.3 — Fleet Management
@@ -63,3 +74,4 @@
- API listens on TCP 5500
- Commands sent to sensors on UDP 5501
- SQLite for dev, PostgreSQL for prod
- Dashboard at `/dashboard/` with htmx tab switching