Access & Guard

  • Only ADMIN role can access /admin and related API routes; enforced by middleware.ts and server-side checks
  • Admin Dashboard: /admin
  • KPI cards: Total, Published, Draft, Hold, Rejected, Pending course counts
  • Quick links to manage Categories and Subcategories
  • Courses panel leading to full moderation list
  • Categories Management: /admin/categories
  • Create new categories with validation and duplicate checks
  • View list of all categories with IDs and counts
  • Use case: define top-level taxonomy before instructors submit courses
  • Subcategories Management: /admin/subcategories
  • Create subcategories mapped to a selected category
  • Accordion view grouped by category with per-category subcategory counts
  • Courses Moderation: /admin/courses
  • Tabular list with: Title, Instructor (name/email), Category/Subcategory, Status badge, Created timestamp