Skip to content

Frontend: Admin analytics dashboard with data visualizations #195

@KuchiMercy

Description

@KuchiMercy

Summary

The admin panel has user and escrow management pages but no analytics or metrics visualization. Platform administrators need a dashboard to monitor health, growth, and operational metrics.

Requirements

  • Build an /admin/analytics page as the default admin landing page
  • Escrow volume over time: Line chart showing daily/weekly/monthly escrow creation volume and total value
  • Status distribution: Pie/donut chart showing active vs. completed vs. disputed vs. expired escrows
  • Platform fee revenue: Bar chart showing fee revenue over time
  • Dispute metrics: Average resolution time, dispute rate (% of escrows), resolution outcome distribution
  • Top users: Table of top 10 users by volume (wallet address, # escrows, total volume)
  • Add a date range selector to filter all charts
  • Use a lightweight charting library (Recharts recommended — already React-based, tree-shakeable)

Acceptance Criteria

  • Analytics page renders 4+ chart widgets
  • Date range selector filters all charts simultaneously
  • Charts are responsive and readable on tablet+ screens
  • Loading states with skeleton placeholders while data fetches
  • Data refreshes on page load (no stale cache)
  • Top users table is sortable by column
  • Page is accessible only to admin/super_admin roles

Context

  • Admin layout: apps/frontend/app/admin/
  • Depends on: B-7 (admin analytics aggregation endpoints) for backend data
  • Existing admin service: apps/frontend/services/admin.ts

Points: 200

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions