Overview
Administrators can monitor course performance, track revenue generation, and view detailed information about each course and its educator.This page displays real-time data for all courses, including both published and draft courses
Key Features
Search Functionality
Filter courses by:- Course Title: Partial matches supported (case-insensitive)
- Educator Name: Search by the course creator’s name
Summary Statistics
The page header displays aggregate metrics:Total Courses
Count of all courses on the platform
Total Revenue
Cumulative revenue from course purchases (₹)
Total Enrollments
Sum of all student enrollments across courses
Course Information Table
Each course entry displays comprehensive information:Columns
| Column | Description | Visibility |
|---|---|---|
| Course | Title and creation date | Always visible |
| Educator | Creator name and email | Hidden on mobile |
| Enrollments | Number of enrolled students | Always visible |
| Revenue | Total earnings and purchase count | Hidden on tablet |
| Price | Current price (with discount if applicable) | Hidden on tablet |
| Status | Published or Draft badge | Hidden on mobile |
Course Details
- Title & Date
- Educator Info
- Enrollment Metrics
- Revenue Data
- Full course title with line clamping
- Creation date formatted as “15 Jan 2024”
Pricing Display
Regular Pricing
When no discount is applied:Discounted Pricing
When a discount is active:Status Indicators
- Published
- Draft
Teal badge indicating the course is live and visible to students
API Integration
GET /api/admin/courses
Fetches all courses with enhanced statistics:Requires admin authentication via Bearer token
Data Calculation
Revenue Aggregation
Backend aggregation pipeline:
Enrollment Counting
Enrollment count is derived from theenrolledStudents array length:
Responsive Behavior
Mobile
Shows course title, enrollments, and status only
Tablet
Adds educator information, hides revenue and price details
Desktop
Displays all columns with complete information
Course Sorting
Courses are sorted by creation date in descending order:Empty States
Performance Considerations
Database Query Optimization
The backend uses:- Field selection to reduce payload size
- Population for educator details
- Aggregation for purchase statistics
Client-side Filtering
Search filtering happens on the client for instant results without additional API calls.Use Cases
Revenue Analysis
Revenue Analysis
Identify top-earning courses and compare pricing strategies across different categories.
Enrollment Monitoring
Enrollment Monitoring
Track which courses are most popular and identify courses that may need promotion.
Educator Performance
Educator Performance
View course creation activity per educator and identify prolific content creators.
Draft Tracking
Draft Tracking
Monitor unpublished courses to follow up with educators about completion status.