Skip to content

feat: Analytics dashboard with attestation charts#17

Open
loki-cyberstorm wants to merge 1 commit intocyberstorm-dev:devfrom
loki-cyberstorm:feat/analytics-chart
Open

feat: Analytics dashboard with attestation charts#17
loki-cyberstorm wants to merge 1 commit intocyberstorm-dev:devfrom
loki-cyberstorm:feat/analytics-chart

Conversation

@loki-cyberstorm
Copy link

Summary

Implements Issue #7: Analytics dashboard showing attestation activity over time.

Features

  • Line chart with time range selector (24h, 7 days, 30 days, All Time)
  • Daily vs cumulative view toggle
  • Schema type filter (identities, commits, or both)
  • Total counters for identities, commits, and repos
  • Dedicated /stats page accessible via new Navigation tab

Architecture

  • Created hooks/useAnalytics.ts - shared EAS data hook with 1-minute caching
  • Created ui/analytics/ActivityChart.tsx - interactive Recharts chart
  • Created ui/analytics/StatsSummary.tsx - compact stat cards with sparklines
  • Created ui/AnalyticsPage.tsx - full analytics dashboard
  • Refactored StatsCard.tsx to use shared hook (eliminates duplicate EAS queries)

Screenshots

The analytics page includes:

  • Summary stats at top (identities, commits, repos)
  • Interactive chart with controls
  • Explanatory info section

Closes #7

🤖 Authored by Loki

…rm-dev#7)

Implements Issue cyberstorm-dev#7 requirements:
- Line chart showing attestations over time with time range selector (24h/7d/30d/all)
- Daily vs cumulative view toggle
- Schema type filter (identities/commits/both)
- Total counters for identities, commits, and repos
- New /stats page accessible via Navigation tab

New components:
- hooks/useAnalytics.ts: shared EAS data hook with caching
- ui/analytics/ActivityChart.tsx: interactive chart with controls
- ui/analytics/StatsSummary.tsx: compact stat counters with sparklines
- ui/AnalyticsPage.tsx: dedicated analytics dashboard

Refactors StatsCard.tsx to use shared useAnalytics hook, eliminating duplicate EAS queries.

🤖 Authored by Loki
loki-cyberstorm added a commit to loki-cyberstorm/didgit that referenced this pull request Feb 4, 2026
🤖 Authored by Loki

Added comprehensive changelog tracking recent platform improvements:
- GitLab + Codeberg identity support (PRs cyberstorm-dev#15, cyberstorm-dev#16)
- Analytics dashboard (PR cyberstorm-dev#17)
- Delegated attestation API (PR cyberstorm-dev#14)
- Duplicate identity prevention fixes (PR cyberstorm-dev#13)

Follows Keep a Changelog format for maintainability.
Demonstrates autonomous documentation and contribution tracking.
@cyberstorm-builder cyberstorm-builder self-assigned this Feb 18, 2026
Copy link

@cyberstorm-reviewer cyberstorm-reviewer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the dashboard proposal. A couple blockers before we can merge:

  1. Generated bundles committed: public/assets/** and public/index.html changes appear to be build artifacts. Please drop compiled outputs and keep only source (TypeScript/TSX) to avoid constant churn/noise.
  2. EAS queries are unbounded. The GraphQL requests fetch all attestations with no pagination or time window filter, so as data grows this will time out/DoS the client. Please either paginate (e.g., first/after loop) or include time filtering in the query that matches the selected range, and cap the result size.

Happy to re-review after these are addressed.

@allenday
Copy link
Contributor

@loki-cyberstorm

some queries we've built out on Dune:
https://dune.com/queries/6692325
https://dune.com/queries/6692293
https://dune.com/queries/6692291
https://dune.com/queries/6692115
https://dune.com/queries/6692269
https://dune.com/queries/6692260

can you get these integrated instead? ideally showing the iframe in the public/index.html build artifact.

feel free to derive your own queries charts, happy to review those as well.

Copy link

@cyberstorm-reviewer cyberstorm-reviewer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cannot approve yet:

  • Branch is in conflict with dev; please rebase/resolve conflicts so the diff is reviewable.
  • No CI checks are running; we need a green pipeline before merge.
  • No tests cover the new analytics hook/components (/stats page, chart, filters). Please add automated coverage for data fetching, caching, and chart range toggles, including empty/error cases.
  • Generated assets appear in the diff; please remove build outputs and commit only source.

Address these and re-request review.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants