Skip to content

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:

AppDomainUsersPurpose
Main AppApp storesReadersDiscovery, library, social
Author Portalauthors.logbook.socialVerified authorsDashboard, analytics, promotions
Admin Paneladmin.logbook.socialStaffModeration, verification, collections

Role Hierarchy

RoleAccess Level
adminFull access, can manage staff
staffAdmin panel access, verification, moderation
curatorCollection creation (subset of staff)
authorAuthor portal access
userMain 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:

  1. Enter title and description
  2. Select collection type (seasonal, mood, trend, topical)
  3. Upload cover image (or auto-generate)
  4. Search and add books
  5. Drag-drop to order books
  6. Add curator notes per book
  7. Live preview - See exactly how collection appears in-app as you build it
  8. Set publish/expire dates
  9. 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:

TierDescription
StaffLogbook employees
VerifiedEstablished influencers (10k+ followers)
CommunityApproved 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:

ActionDescription
ApproveContent is fine, clear flag
RemoveDelete content, notify user
EditModify content (staff edit)
WarnKeep content, send warning to user
SuspendSuspend user account
EscalateFlag 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

  1. Staff logs into admin panel
  2. Navigates to "Collections" > "Create New"
  3. Enters collection title and description
  4. Selects type (e.g., "seasonal")
  5. Uploads custom cover image
  6. Searches for books and adds to collection
  7. Reorders books via drag-drop
  8. Adds curator notes for each book
  9. Sets publish date and marks as featured
  10. Saves and collection publishes on schedule

Handling a Content Report

  1. Report appears in moderation queue
  2. Staff opens report, sees flagged content
  3. Reviews content in context
  4. Checks user's history (repeat offender?)
  5. Decides action: approve, remove, or warn
  6. Submits action with notes
  7. User notified if content removed
  8. Report marked resolved

Technical Requirements

Authentication

  • Shared JWT tokens with main Logbook API
  • Token includes user role (staff or admin)
  • 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.social in the logbook.social zone
  • Existing static-site OpenTofu module from apptic/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

┌──────────────────────────────────────────┐
│ [Logo] Admin Panel      [Search] [User]  │
├────────────┬─────────────────────────────┤
│ Dashboard  │                             │
│ ─────────  │                             │
│ Authors    │        Main Content         │
│  ├ Queue   │                             │
│  └ Verified│                             │
│ Collections│                             │
│  ├ All     │                             │
│  ├ Create  │                             │
│  └ Schedule│                             │
│ Curators   │                             │
│  ├ Apps    │                             │
│  └ Active  │                             │
│ Moderation │                             │
│ Analytics  │                             │
│ ─────────  │                             │
│ Settings   │                             │
└────────────┴─────────────────────────────┘

Key Screens

  1. Dashboard: Key metrics, queue counts, recent activity
  2. Verification Queue: Table of pending claims with filters
  3. Claim Review: Split view of claim and author data
  4. Collections List: Table with status, curator, dates
  5. Collection Editor: Multi-step form with book search and drag-drop
  6. Collection Calendar: Schedule view of publishes/expirations
  7. Curator Applications: Inbox-style list with application details
  8. Curator Directory: Table of all curators with management
  9. Moderation Queue: Unified queue with content previews
  10. Analytics Dashboard: Charts and exportable reports

Audit Trail

All admin actions are logged for accountability:

typescript
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

  1. Access Tiers: Do we need different admin permission levels? (read-only, moderator, full admin)

  2. Automation: Should some moderation be automated? (ML-based content flagging, auto-rejection patterns)

  3. External Tools: Integrate with Slack for alerts? PagerDuty for escalations?

  4. Backup Admin: What happens if admin.logbook.social is down? CLI fallback?

  5. Multi-region: If we expand globally, do we need region-specific admin instances?

  6. Data Access: GDPR considerations for admin access to user data?

Built with VitePress