Admin Panel Architecture
Operator control panel for one self-hosted Bellamy Book instance. Separate app from the social Frontend.
Product feature list: Admin Panel features.
Technology stack
| Layer | Choice |
|---|---|
| UI | React + CoreUI 5 |
| Build | Vite |
| Routing | React Router HashRouter |
| State | Redux Toolkit |
| Editor | TipTap (blogs) |
| HTTP | Axios services + endpoints.js |
Access control
- UI gate:
AdminRoute— Admin role only - API:
[Authorize(Roles = Admin)]for most admin ops; Admin + Moderator for content alerts / reports - License feature flags (separate from roles) hide/disable premium UI and are enforced on the API
Main routes
| Area | Routes (examples) |
|---|---|
| Dashboard | /dashboard |
| Users | /users, /users/add |
| Content | /content/blogs, /content/alerts |
| Notifications | announcements, email campaigns |
| Tickets | /tickets, /tickets/:id |
| Backup | /backup, config, restore |
| Settings | application, defaults, AI agent, license |
Capabilities
- Analytics (users, engagement, trending posts/hashtags)
- User management (roles, lock, password, 2FA, avatars)
- Moderation queue (AI content alerts: dismiss / hide / delete post)
- Blog CMS + SEO + AI blog agent (license-gated)
- Announcements & email campaigns (license-gated)
- Support tickets workflow
- Backup / restore
- License activate (CONSUMER) or generate (MAIN)
- Elasticsearch reindex / search analytics (ops)
Same API, different context
Admin and Frontend share the ASP.NET Core API. Use a distinct app context for refresh cookies (do not collide with social SPA sessions). See Backend.