Admin Panel
Staff-only web application for moderation, verification reviews, content management, and platform analytics.
Overview
The Admin Panel (admin.logbook.social) is an internal web application for Logbook staff. It provides tools for managing author verification, curating collections, moderating content, and monitoring platform health.
Target Users: Logbook staff with staff or admin roles
Platform: Web (React + Vite + Tailwind)
Authentication: Shared JWT with main Logbook API, requires staff or admin role
Architecture
The Admin Panel is the third frontend application in the Logbook ecosystem:
| App | Domain | Users | Purpose |
|---|---|---|---|
| Main App | App stores | Readers | Discovery, library, social |
| Author Portal | authors.logbook.social | Verified authors | Dashboard, analytics, promotions |
| Admin Panel | admin.logbook.social | Staff | Moderation, verification, collections |
Role Hierarchy
| Role | Access Level |
|---|---|
admin | Full access, can manage staff |
staff | Admin panel access, verification, moderation |
curator | Collection creation (subset of staff) |
author | Author portal access |
user | Main app only |
Features
Author Verification
Review and process author verification claims.
Verification Queue
Dashboard showing pending verification requests:
- Queue List: All pending claims sorted by submission date
- Priority Flags: Publisher-backed claims, high-profile authors
- Filters: By submission date, proof type, author popularity
- Bulk Actions: Assign reviewer, export list
Claim Review
Side-by-side review interface:
Left Panel - Claim Details:
- Claimant user profile
- Selected author they're claiming
- Submitted proof documents/links
- Notes from claimant
Right Panel - Author Data:
- Existing author profile
- Linked books
- External links (Wikipedia, publisher pages)
- Previous claim attempts (if any)
Actions:
- Approve claim
- Reject with reason (template responses)
- Request additional information
- Flag for senior review
- Add internal notes
Dispute Resolution
Handle contested claims:
- Multiple users claiming same author
- Previous verified author disputes new claim
- Identity verification escalation
- Legal/DMCA considerations
Curated Collections
Create and manage editorial collections for discovery.
Collection Editor
Full-featured collection management:
Create Collection:
- Enter title and description
- Select collection type (seasonal, mood, trend, topical)
- Upload cover image (or auto-generate)
- Search and add books
- Drag-drop to order books
- Add curator notes per book
- Live preview - See exactly how collection appears in-app as you build it
- Set publish/expire dates
- Mark as featured (optional)
Edit Collection:
- Update any field
- Add/remove books
- Reorder books
- Update scheduling
- Archive collection
Collection Scheduling
Manage collection lifecycle:
- Draft: Work in progress, not visible
- Scheduled: Set to publish at future date
- Published: Currently visible to users
- Featured: Promoted in discovery carousel
- Expired: Past expiration date, hidden
- Archived: Manually archived, can restore
Calendar view showing upcoming publishes/expirations.
Curator Management
Manage the community curator program:
Application Review:
- View pending curator applications
- Review social proof and credentials
- Approve or reject with feedback
- Set curator tier (staff, verified, community)
Curator Directory:
- List all active curators
- View their collections and performance
- Edit tier/status
- Suspend or remove curator status
- Contact curator
Curator Tiers:
| Tier | Description |
|---|---|
| Staff | Logbook employees |
| Verified | Established influencers (10k+ followers) |
| Community | Approved community members |
Content Moderation
Review flagged content across the platform.
Moderation Queue
Unified queue for all flagged content:
Content Types:
- Author bios (inappropriate content)
- Announcements (spam, misleading)
- Review highlights (copyright concerns)
- Q&A content (harassment, inappropriate)
- User reports (from community flags)
Queue Interface:
- Content preview
- Flag reason and source
- Context (author, book, user)
- Quick actions: Approve, Remove, Warn
Moderation Actions
Available actions for flagged content:
| Action | Description |
|---|---|
| Approve | Content is fine, clear flag |
| Remove | Delete content, notify user |
| Edit | Modify content (staff edit) |
| Warn | Keep content, send warning to user |
| Suspend | Suspend user account |
| Escalate | Flag for admin review |
User Reports
Handle reports from community:
- View reported content
- See reporter's reason
- Check report history (repeat reporters)
- Take action or dismiss
- Track resolution time
Platform Analytics
Monitor platform health and content performance.
Dashboard
Overview metrics:
- Active users (DAU/MAU)
- New author verifications
- Collections published
- Content flagged/moderated
- Reader engagement trends
Collection Performance
Analytics for curated collections:
- Views per collection
- Books added to library from collection
- Save/share rates
- Time on collection
- Top performing collections
Author Engagement
Metrics for author features:
- Verified authors (total, growth)
- Pro tier conversions
- Announcement engagement
- Q&A participation
- Author retention
Reports
Exportable reports for business decisions:
- Weekly platform summary
- Monthly growth metrics
- Collection performance report
- Author program report
- Custom date range exports
User Flows
Processing a Verification Claim
Creating a Featured Collection
- Staff logs into admin panel
- Navigates to "Collections" > "Create New"
- Enters collection title and description
- Selects type (e.g., "seasonal")
- Uploads custom cover image
- Searches for books and adds to collection
- Reorders books via drag-drop
- Adds curator notes for each book
- Sets publish date and marks as featured
- Saves and collection publishes on schedule
Handling a Content Report
- Report appears in moderation queue
- Staff opens report, sees flagged content
- Reviews content in context
- Checks user's history (repeat offender?)
- Decides action: approve, remove, or warn
- Submits action with notes
- User notified if content removed
- Report marked resolved
Technical Requirements
Authentication
- Shared JWT tokens with main Logbook API
- Token includes user role (
stafforadmin) - Middleware validates role on all
/admin/*endpoints - Activity logging for audit trail
- IP allowlisting (optional for production)
Deployment
Same pattern as landing page and Author Portal:
- Azure Static Web App
- DNS record for
admin.logbook.socialin thelogbook.socialzone - Existing
static-siteOpenTofu module fromapptic/devops
Additional security considerations:
- VPN or IP restriction (optional)
- Stricter CORS policy
- Audit logging for all actions
Tech Stack
React + Vite + Tailwind, matching the landing page (logbook.so) and Author Portal. Shares design tokens and UI components via @logbook/ui package.
Screens
Navigation
┌──────────────────────────────────────────┐
│ [Logo] Admin Panel [Search] [User] │
├────────────┬─────────────────────────────┤
│ Dashboard │ │
│ ───────── │ │
│ Authors │ Main Content │
│ ├ Queue │ │
│ └ Verified│ │
│ Collections│ │
│ ├ All │ │
│ ├ Create │ │
│ └ Schedule│ │
│ Curators │ │
│ ├ Apps │ │
│ └ Active │ │
│ Moderation │ │
│ Analytics │ │
│ ───────── │ │
│ Settings │ │
└────────────┴─────────────────────────────┘Key Screens
- Dashboard: Key metrics, queue counts, recent activity
- Verification Queue: Table of pending claims with filters
- Claim Review: Split view of claim and author data
- Collections List: Table with status, curator, dates
- Collection Editor: Multi-step form with book search and drag-drop
- Collection Calendar: Schedule view of publishes/expirations
- Curator Applications: Inbox-style list with application details
- Curator Directory: Table of all curators with management
- Moderation Queue: Unified queue with content previews
- Analytics Dashboard: Charts and exportable reports
Audit Trail
All admin actions are logged for accountability:
interface AuditLog {
id: string;
adminId: string;
action: string; // 'claim.approve', 'collection.publish', etc.
targetType: string; // 'claim', 'collection', 'user', etc.
targetId: string;
details: object; // Action-specific details
ipAddress: string;
timestamp: Date;
}Logs are:
- Immutable (append-only)
- Retained for compliance period
- Searchable for investigations
- Exportable for audits
Open Questions
Access Tiers: Do we need different admin permission levels? (read-only, moderator, full admin)
Automation: Should some moderation be automated? (ML-based content flagging, auto-rejection patterns)
External Tools: Integrate with Slack for alerts? PagerDuty for escalations?
Backup Admin: What happens if admin.logbook.social is down? CLI fallback?
Multi-region: If we expand globally, do we need region-specific admin instances?
Data Access: GDPR considerations for admin access to user data?
Related Features
- Author Pages - Verification process and author data
- Author Portal - Author-facing tools (separate app)
- Curated Collections - Collection feature spec
- Notifications - Admin-triggered notifications