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
/notificationsand 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-uploadand/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.