Skip to content

Issue 26: Vendor Management Dashboard (Streamlit) #26

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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