const mongoose = require('mongoose'); const lessonSchema = new mongoose.Schema({ title: { type: String, required: true }, content: { type: String, required: true }, videoUrl: String, duration: Number, // in minutes resources: [{ title: String, url: String }], quiz: { type: mongoose.Schema.Types.ObjectId, ref: 'Quiz' } }, { timestamps: true }); const courseSchema = new mongoose.Schema({ title: { type: String, required: true }, description: { type: String, required: true }, instructor: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true }, category: { type: String, required: true }, level: { type: String, enum: ['beginner', 'intermediate', 'advanced'], required: true }, price: { type: Number, default: 0 }, thumbnail: { type: String, required: true }, lessons: [lessonSchema], studentsEnrolled: { type: Number, default: 0 }, rating: { type: Number, default: 0 }, requirements: [String], whatYouWillLearn: [String], isFeatured: { type: Boolean, default: false }, createdAt: { type: Date, default: Date.now } }); module.exports = mongoose.model('Course', courseSchema);