Skip to content

feat(ui): modern operator GUI with dashboard, reports list and system info API - #16

Merged
DeepZone merged 1 commit into
mainfrom
codex/improve-routeforge-gui-for-better-usability
May 19, 2026
Merged

feat(ui): modern operator GUI with dashboard, reports list and system info API#16
DeepZone merged 1 commit into
mainfrom
codex/improve-routeforge-gui-for-better-usability

Conversation

@DeepZone

Copy link
Copy Markdown
Owner

Motivation

  • Provide a modern, operator-friendly frontend layout with clear navigation and persistent result areas so checks are easier to read and act upon.
  • Make the demo/read-only status visible to users and provide an accessible report history to review previous checks.
  • Keep backend compatibility and avoid adding any write/deploy functionality while exposing a small read-only list endpoint to support the Reports view.

Description

  • Reworked frontend to a multi-view operator layout with Header, left navigation, main content and footer system line, and views: Dashboard, ASN Check, Prefix Check, Reports, About (client-side navigation). (frontend/src/App.tsx, frontend/src/components/Layout.tsx)
  • Improved ASN and Prefix check forms with clearer guidance, loading/error states and persistent results; ASN-Screen supports starting a separate ASN-RPKI batch and shows both results independently. (frontend/src/components/AsnCheckForm.tsx, frontend/src/components/PrefixCheckForm.tsx)
  • Modularized and restyled report rendering with StatusBadge, recommendation list, raw-data sections, technical details, ASN-RPKI batch summary and sorted batch results; demo-mode banner is shown when report.details.demo_mode is true. (frontend/src/components/ReportView.tsx, frontend/src/components/StatusBadge.tsx, frontend/src/components/RawDataPanel.tsx)
  • Added typed frontend API helpers and models for report listing and system info: getReports and getSystemInfo, and new types ReportListItem / SystemInfo. (frontend/src/api.ts, frontend/src/types.ts)
  • Added backend read-only endpoints to support the UI: GET /api/reports (latest 50 reports, newest first) and GET /api/system/info (name/version/demo/read_only/data_sources), wired into the app router; existing report detail/markdown/html endpoints remain unchanged. (backend/app/api/routes_reports.py, backend/app/api/routes_system.py, backend/app/main.py)
  • Added smoke tests for the new endpoints to the existing test suite. (backend/tests/test_api_smoke.py)

Testing

  • Ran backend test suite with cd backend && pytest -q and all tests passed (37 passed, 24 warnings).
  • Built the frontend with cd frontend && npm run build and the production build completed successfully (Vite build finished).

Codex Task

@DeepZone
DeepZone merged commit 4a7851b into main May 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant