Add local web analysis dashboard

This commit is contained in:
Philip Guzman
2026-07-01 07:52:19 -07:00
parent 251ab4d090
commit 9053b4ca3d
11 changed files with 335 additions and 1 deletions
+30
View File
@@ -0,0 +1,30 @@
# Local Web Interface
## Problem
The command line is useful for automation but makes the growing diagnostic set
harder to explore. A visual dashboard lets users test analysis safely and understand
which findings affect health.
## Architecture
`serato-doctor-web` binds to `127.0.0.1:8765` by default and serves package-owned
HTML, CSS, and JavaScript with Python's standard library. A same-origin JSON endpoint
runs the existing read-only parser, scanner, matcher, duplicate detector, crate
classifier, and health engine. No web framework or external service is required.
The UI clearly labels read-only mode, separates scored health from informational
diagnostics, and adapts from a full sidebar layout to compact mobile navigation.
## Edge Cases
- Missing or invalid Serato and music directories.
- Empty libraries with no assessable health score.
- Large or malformed requests, capped at 64 KiB.
- HTML injection, avoided by rendering all results through `textContent`.
- Network exposure, avoided by a loopback-only default binding.
## Verification
Tests exercise the web analysis adapter and static package assets. Browser checks
cover real form submission, result rendering, error display, and responsive layout.