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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions