Skip to content

Issue 26: Vendor Management Dashboard (Streamlit) #26

@laraibg786

Description

@laraibg786

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_id claim.
  • 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions