Skip to content

PRD-002: Admin Modernization

Status: Completed Date: 2026-05-20

Summary

The micboard/admin/dashboard.py monolith (2,431 lines, ~50+ HTMX views) was fully decomposed into reachable per-domain admin modules. The final three legacy dashboard views and the unregistered gap-analysis admin were removed on 2026-07-14 after a route audit confirmed neither was reachable.

What Was Done

The monolithic dashboard.py views were extracted into existing per-domain admin modules under micboard/admin/:

Extracted Concern Destination Module Status
Chassis management receivers.py Done
Wireless unit CRUD channels.py Done
Discovery queue approval discovery_admin.py Done
Charger display chargers.py Done
Manufacturer configuration configuration.py Done
Monitoring & alerts monitoring.py Done
Settings settings.py Done
Gap analysis Removed Unregistered and unreachable
Admin URL config Per-module get_urls() Done

Remaining Technical Debt

Two admin modules slightly exceed the 400-line guideline:

  • configuration.py (was configuration_and_logging.py, ~542 → ~240 lines)
  • receivers.py (~432 lines)

Success Metrics

  • dashboard.py: 2,431 lines → removed after all reachable views moved to domain modules
  • All per-domain admin modules ≤542 lines (⬇️ trending toward ≤400)
  • No admin_urls.py needed — URLs are per-module via get_urls()
  • uv run ruff check . and uv run pytest pass

References

  • ADR-003: Admin Dashboard Modularization (completed)