-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Goal
Create a web-based vendor management dashboard using Streamlit for vendors to manage licenses, view activation status, monitor heartbeats, and export audit trails.
Requirements
Functional
- Page 1 - Dashboard: Active licenses count, devices in grace mode, revoked licenses count, recent audit events (last 10).
- Page 2 - Licenses: Table with
license_key,customer,status,created_at,expiry_date; filters by status/customer/date; actions: Create, View Detail, Revoke. - Page 3 - Sessions: Active devices table with
device_fingerprint_hash,status(ACTIVE/GRACE),last_heartbeat,grace_remaining; auto-refresh every 30s. - Page 4 - Audit Log: Event table with filters and CSV export.
- Page 5 - Settings: Grace period, max offline hours, heartbeat interval, API key regeneration.
- JWT authentication via Streamlit session state.
Technical
- Framework: Streamlit 1.28+.
- Auth: JWT stored in session state; verify
vendor_idclaim. - Database: Connect to PostgreSQL (read-only for dashboard views).
- CSV Export: RFC 4180 escaping, timestamp in filename.
Acceptance Criteria
- Vendor can log in and see their license dashboard.
- Vendor can create, view, and revoke licenses from the UI.
- Sessions page auto-refreshes every 30 seconds.
- Audit log CSV export downloads correctly.
Dependencies
- Blocked by: Issue 06: JWT Authentication #6, Issue 11: Create License Endpoint #11, Issue 12: List Licenses Endpoint #12, Issue 13: License Detail and Modify Endpoints #13, Issue 14: License Revoke Endpoint #14, Issue 15: Audit Event Service and CSV Export #15.
- Blocks: Issue 31: Dashboard Audit Log Views #31 (Audit Log Views).
Reactions are currently unavailable