FDA

Project 1 - Admin Panel

Admin Panel - Features

This page summarizes the main features and where to find them in the Admin Panel.

Course system (Courses → Modules → Chapters)

  • Courses: Title, description, thumbnail, intro video, instructor, status (Draft / Published / Archived), optional marketing fields (price, duration, level, etc.).
  • Modules: Belong to a course; have order; contain chapters.
  • Chapters: Belong to a module; have title, video URL, duration, optional PDF URLs, order, status.

Access

  • Admins: Full CRUD on all courses, modules, chapters, and categories.
  • Instructors: Full CRUD on their own courses and related modules/chapters.

Routes (typical)

  • Manage courses: /manage-courses/courses (list), /manage-courses/courses/add, /manage-courses/courses/[id], /manage-courses/courses/[id]/edit.
  • Manage modules: /manage-courses/modules, /manage-courses/modules/add.
  • Manage chapters: /manage-courses/chapters, /manage-courses/chapters/add.
  • Categories: /manage-courses/categories (list/add/edit).
  • Instructors: /manage-courses/instructors.
  • Questions: /manage-courses/questions (if used for quizzes/assessments).

Students view and take courses under /courses, /dashboard, etc., with progress tracked via enrollments.

Categories

  • Course categories are used to group courses (and exposed to the marketing site via the public API).
  • Managed under Manage courses → Categories.

Blogs

  • Blogs: Posts with title, content, status, optional category, etc.
  • Blog categories: Used to group blogs.
  • Public API: GET /api/public/blogs, GET /api/public/blogs/categories (published only).

Routes

  • /manage-blogs/blogs (list), /manage-blogs/blogs/add.
  • /manage-blogs/categories (list/add).

Enrollments & progress

  • Users enroll in courses; progress is stored per chapter (e.g. completed, time spent).
  • APIs under /api/enrollments, /api/progress (or similar); used by the student dashboard and course player.

Events

  • Events (e.g. workshops) can be managed and displayed; routes under /events.

Notifications

  • In-app notifications; list and mark-as-read under /notifications and via /api/notifications.

Media

  • File uploads (e.g. images, PDFs) via Manage media and upload API; may use Vercel Blob or similar.

User management & roles

  • Manage roles: List users and change role (admin only); typically /manage-roles.
  • My account: Profile/settings at /my-account; users can update their own profile.

Invoices & orders

  • Invoices: List at /invoices; create manual invoices; download PDFs. Admins see all; users see their own.
  • Orders: List at /orders; order details and refunds at /orders/[id].
  • See Payments & Razorpay for checkout and accounting.

Accounting

  • Accounting view aggregates transactions from payments and manual invoices; typically under /accounting.

Chat

  • Admins: Chat with users and instructors.
  • Instructors: Chat with students enrolled in their courses.
  • Users: View and reply to chats with admins/instructors.
  • Real-time via Server-Sent Events (SSE). See Chat System.

CSV upload

  • Bulk operations (e.g. users or courses) via CSV upload; route usually under /csv-upload and /api/csv/*.

Email manager

  • Send or manage emails (e.g. templates, logs); under /email-manager.

Public API (for marketing site)

  • GET /api/public/courses – published courses.
  • GET /api/public/courses/[id] – single course (with modules/chapters if needed).
  • GET /api/public/categories – course categories.
  • GET /api/public/blogs – published blogs.
  • GET /api/public/blogs/categories – blog categories.

See Marketing API for response shape and usage from the marketing homepage.

Previous
Roles & permissions