Platform
Admin Dashboard
Admin capabilities, metrics, and plugin management workflows.
Admin Analysis
Admin Role Overview
Access Control
- Single Admin Model: Only 1 user has /admin access
- Full platform control and metrics visibility
- OSS publishing authority
Admin Dashboard: /admin
Core Capabilities
-
Platform Metrics
- Total users count
- Total teams count
- Total organizations count
- Total plugins count
- Additional engagement metrics
-
Plugin Management
- View all organization plugins
- Approve/reject plugin submissions
- Publish to OSS
- Unpublish from OSS
-
User Oversight
- View all registered users
- Monitor user activity
- Handle reports/issues
OSS Publishing Workflow
Publish Flow
Loading diagram...
Unpublish Flow
Loading diagram...
GitHub Integration
Repository Access
- Admin authenticates with GitHub API
- Read/write access to plugins repository
- Automated commit generation
- File management (create, update, delete)
API Operations
| Operation | GitHub API Action |
|---|---|
| List published plugins | GET /repos/{owner}/{repo}/contents/plugins |
| Publish plugin | PUT /repos/{owner}/{repo}/contents/plugins/{filename} |
| Unpublish plugin | DELETE /repos/{owner}/{repo}/contents/plugins/{filename} |
Supabase Functions
Admin Functions Location
supabase/functions/
├── publish-plugin.ts # Handle OSS publishing
├── unpublish-plugin.ts # Handle OSS removal
└── admin-metrics.ts # Aggregate platform statspublish-plugin.ts
// Pseudo-code structure
export async function publishPlugin(pluginId: string) {
// 1. Fetch plugin from database
// 2. Format as JSON with naming convention
// 3. Push to GitHub via API
// 4. Update plugin status in database
}unpublish-plugin.ts
// Pseudo-code structure
export async function unpublishPlugin(pluginId: string) {
// 1. Get file path from plugin metadata
// 2. Delete from GitHub via API
// 3. Update plugin status in database
}Admin Metrics Dashboard
User Metrics
| Metric | Description |
|---|---|
| Total Users | All registered users |
| Active Users (24h) | Users with activity in last 24 hours |
| New Users (7d) | New registrations in last 7 days |
| User Growth Rate | Week-over-week growth percentage |
Organization Metrics
| Metric | Description |
|---|---|
| Total Organizations | All created organizations |
| Active Organizations | Organizations with recent activity |
| Avg Teams per Org | Average team count |
| Largest Organizations | Top 10 by member count |
Team Metrics
| Metric | Description |
|---|---|
| Total Teams | All created teams |
| Avg Members per Team | Average member count |
| Most Active Teams | By plugin creation count |
Plugin Metrics
| Metric | Description |
|---|---|
| Total Plugins | All created plugins |
| Published Plugins | OSS-published count |
| Popular Plugins | By install/favorite count |
| Plugins by Stack | Breakdown by technology |
| Plugins by Type | Breakdown by category |
Admin UI Components
All components from Shadcn UI:
DataTable- For listing plugins, users, orgsCard- Metric display cardsButton- Action buttons (publish, unpublish)Dialog- Confirmation modalsBadge- Status indicatorsTabs- Section navigation
Security Considerations
- Admin route protection via middleware
- Server-side verification of admin status
- Audit logging for all admin actions
- Rate limiting on GitHub API calls
- Secure storage of GitHub tokens