Skip to content

feat(gateway): add polished web portal with login and dashboard#36

Merged
chrystianmartins merged 1 commit into
mainfrom
codex/create-web-page-with-login-and-dashboard
Feb 9, 2026
Merged

feat(gateway): add polished web portal with login and dashboard#36
chrystianmartins merged 1 commit into
mainfrom
codex/create-web-page-with-login-and-dashboard

Conversation

@chrystianmartins

Copy link
Copy Markdown
Owner

Motivation

  • Provide a lightweight, attractive project portal for the gateway so the service exposes a human-friendly homepage and a demoable login flow.
  • Give operators a simple dashboard, menus and reports UI to showcase status and KPIs without changing existing API contracts.
  • Keep the change non-breaking and self-contained inside the gateway so API endpoints remain unaffected.

Description

  • Added an HTML homepage served at GET / by importing HTMLResponse and registering web_portal() which returns a PORTAL_HTML constant.
  • Implemented PORTAL_HTML containing a responsive, dark-themed UI with sidebar navigation, KPI cards, performance reports table and a login modal with minimal client-side JS.
  • Preserved all existing endpoints and behavior; the change only adds a new route and static HTML payload.
  • Added a test test_web_portal_homepage in pool-gateway/tests/test_gateway_api.py to assert the homepage returns HTTP 200 and contains the brand and login CTA.

Testing

  • Ran pytest in the gateway: cd pool-gateway && pytest -q which initially failed in the CI-like environment due to missing PYTHONPATH resolution (ModuleNotFoundError importing app).
  • Re-ran tests with module path set and all tests passed: cd pool-gateway && PYTHONPATH=. pytest -q resulting in 8 passed.

Codex Task

@chrystianmartins
chrystianmartins merged commit 6683d5d into main Feb 9, 2026
3 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