feat(portal): add SSR operations and exclusive groups
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
---
|
||||
type: User Story
|
||||
title: Monitor community account activity
|
||||
description: Administrators use a server-rendered dashboard to review registrations, monthly activity, denials, and risky networks.
|
||||
tags: [admin, dashboard, metrics, security, ssr]
|
||||
timestamp: 2026-08-01T23:10:59Z
|
||||
story_id: US-018
|
||||
status: verified
|
||||
---
|
||||
|
||||
# User Story
|
||||
|
||||
As an administrator, I want an operational dashboard of account and game activity, so that I can understand community growth and quickly investigate access risks.
|
||||
|
||||
# Acceptance Criteria
|
||||
|
||||
- [x] The administrator landing page is a dashboard rather than a settings form.
|
||||
- [x] The dashboard graphs new registered users by UTC day for the previous 14 days.
|
||||
- [x] Monthly active users count distinct users observed through portal or game activity in the previous 30 days.
|
||||
- [x] Monthly active Minecraft accounts count distinct linked accounts observed in the previous 30 days.
|
||||
- [x] The dashboard shows login denials from the previous 24 hours.
|
||||
- [x] Recent VPN, proxy, and Tor observations link to affected user records.
|
||||
- [x] The graph includes an accessible title, description, point labels, and textual values.
|
||||
- [x] Dashboard queries and rendering execute server-side without client-side data fetching.
|
||||
- [x] Deployment-managed guild settings and denial messaging remain available on a dedicated settings page.
|
||||
|
||||
# Implementation
|
||||
|
||||
- [`apps/web/src/app/admin/(console)/page.tsx`](../apps/web/src/app/admin/%28console%29/page.tsx)
|
||||
- [`apps/web/src/app/admin/(console)/settings/page.tsx`](../apps/web/src/app/admin/%28console%29/settings/page.tsx)
|
||||
- [`apps/web/src/lib/admin-metrics.ts`](../apps/web/src/lib/admin-metrics.ts)
|
||||
|
||||
# Validation
|
||||
|
||||
- Missing-day chart behavior is covered by [`apps/web/src/lib/admin-metrics.test.ts`](../apps/web/src/lib/admin-metrics.test.ts).
|
||||
- The Next.js production build reports the dashboard and database-backed console pages as dynamic server-rendered routes.
|
||||
|
||||
# Related Stories
|
||||
|
||||
- [Preserve a CloudEvents-style audit trail](us-010-audit-events.md)
|
||||
- [Deploy and operate the platform securely](us-015-platform-operations.md)
|
||||
- [Block anonymized account additions](us-008-vpn-blocking.md)
|
||||
Reference in New Issue
Block a user