Skip to main content

๐Ÿ› ๏ธ AceSense Admin Panel

Platform Management Dashboard

:::info Repository Info

RepoCommitLast Updated
acesense-adminf503e2d2026-05-28
:::

The AceSense Admin Panel is the central dashboard for managing the AceSense platform โ€” monitoring video processing jobs, analyzing system health, governing user access, and browsing Firebase Storage. Built with React 19 and Vite for speed and visual clarity.

Live URL: https://admin.acesense.io


๐Ÿ—๏ธ Architectureโ€‹


๐Ÿ› ๏ธ Technology Stackโ€‹

TechnologyVersionPurpose
React19UI framework
TypeScriptLatestType safety
Vite7Build tool
React Routerv7Client-side routing
RechartsLatestDashboard charts & analytics
FirebaseLatestAuth, Firestore, Storage, Hosting
ESLintFlat configCode linting
CSSCustom dark themeStyling

๐Ÿ” Authenticationโ€‹

The admin panel uses Google Sign-In with Firebase Auth. Only whitelisted admin emails have access:

EmailRole
admin@acesense.ioAdmin
akshay@akshaysarode.comAdmin
akshay.sarode@anilata.comAdmin
akshay.sarode18@gmail.comAdmin
note

Allowlist enforcement is documented in compliance/admin-allowlist. Source of truth is acesense-frontend/firestore.rules isAdmin(); the same canonical 4-email list is mirrored in acesense-auth-function/shared/admin-auth.ts, acesense-launchpad/src/config/firebase.ts, and the admin Settings display constant. Preferred mechanism is the admin: true Firebase custom claim โ€” set via the Settings โ†’ Admin Claims button.


๐Ÿ“„ Pagesโ€‹

RoutePageDescription
/DashboardTop-level metrics, weekly job charts, status distribution, recent activity
/usersUsersUser management โ€” drawer with plan dropdown, suspend toggle, password reset, data export, embedded API keys, bulk CSV
/jobsJobsLive job control via onSnapshot โ€” drawer with raw JSON, signed-URL downloads, RunPod link, fetched result viewer, retry/manual-status/delete, bulk retry/delete/CSV
/operationsOperationsHealth checks (Cloud Functions / REST API / MCP), per-user quota table, recent quota_exceeded rejections
/analyticsAnalyticsProcessing insights (success rate, avg times), jobs over time, peak hours, data distribution
/storageStorageFirebase Storage browser โ€” folder navigation, file preview, download, delete
/audit-logAudit LogTabbed view of signed_url_audit, moderation_audit, admin_audit with revoke + JSON-detail modals
/developerDeveloperPer-user API key management (create / list / top-up / revoke) for the signed-in admin
/admin-api-keysAPI Keys (Admin)Cross-user view of every API key โ€” adjust balance, revoke, aggregate stats
/research-decisionsResearch DecisionsInternal compliance-driven decisions log
/settingsSettingsFirebase/RunPod config readouts, admin whitelist, quick links

See Features for the full per-page capability list.


๐Ÿ“‚ Project Structureโ€‹

acesense-admin/
โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ components/ # Reusable UI components (charts, tables, modals)
โ”‚ โ”œโ”€โ”€ config/ # Firebase configuration
โ”‚ โ”œโ”€โ”€ hooks/ # Custom React hooks (data fetching, state)
โ”‚ โ”œโ”€โ”€ pages/ # Page components (Dashboard, Users, Jobs, etc.)
โ”‚ โ””โ”€โ”€ App.tsx # Main application with routing
โ”œโ”€โ”€ public/ # Static assets
โ”œโ”€โ”€ dist/ # Production build output
โ”œโ”€โ”€ firebase.json # Firebase Hosting config
โ”œโ”€โ”€ package.json
โ””โ”€โ”€ tsconfig.json