Admin Portal

Last updated on 2026-09-13

The admin portal has 12 routes for managing the entire LMS platform. Admins have full access to all data.

Dashboard (/admin/dashboard)

  • Platform-wide KPI stats (total users, courses, enrollments, revenue)
  • User growth chart
  • Enrollment trends
  • Revenue overview

Data from getAdminDashboardStats().

User Management (/admin/users)

  • All users with role, status, and join date
  • Change user roles (student → instructor → admin)
  • Suspend or reactivate accounts
  • Search and filter users

Course Management (/admin/courses)

  • All courses across all instructors
  • Status management (draft, published, archived)
  • Course details and statistics

Categories (/admin/categories)

  • Manage course categories
  • Add, edit, delete categories
  • View course counts per category

Course Approvals (/admin/approvals)

  • Pending course submissions from instructors
  • Review and approve/reject with feedback
  • Approval history

Data from getApprovals(), mutations via reviewCourse().

Coupons (/admin/coupons)

  • Discount code management
  • Create coupons with percentage or fixed discounts
  • Set usage limits and expiry dates
  • Track usage counts
  • Restrict to specific courses

CRUD via getCoupons(), createCoupon(), updateCoupon(), deleteCoupon().

Revenue (/admin/revenue)

  • Platform-wide revenue analytics
  • Daily revenue chart
  • Revenue by course
  • Instructor payout tracking

Announcements (/admin/announcements)

  • Platform announcements to students, instructors, or everyone
  • Schedule announcements for future publishing
  • Pin important announcements

CRUD via getAnnouncements(), createAnnouncement(), updateAnnouncement(), deleteAnnouncement().

Reports (/admin/reports)

  • Daily metrics: new enrollments, completions, revenue, active users
  • Trend charts over time
  • Export capabilities

Support Tickets (/admin/tickets)

  • Help desk for student issues
  • Priority levels (critical, high, medium, low)
  • Status tracking (open, in-progress, resolved, closed)
  • Threaded messages per ticket
  • Assign tickets to team members

Audit Log (/admin/audit-log)

  • Chronological log of all admin actions
  • User, action, entity, and timestamp
  • Filter by action type and entity
  • Metadata details

Settings (/admin/settings)

  • Platform-wide settings via site_settings table
  • Configure platform name, description
  • Email and notification settings
  • Feature toggles