```javascript const mongoose = require('mongoose'); const TaskSchema = new mongoose.Schema({ title: { type: String, required: true }, description: { type: String }, department: { type: mongoose.Schema.Types.ObjectId, ref: 'Department', required: true }, assignedTo: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true }, createdBy: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true }, dueDate: { type: Date, required: true }, priority: { type: String, enum: ['low', 'medium', 'high'], default: 'medium' }, status: { type: String, enum: ['pending', 'in-progress', 'completed', 'overdue'], default: 'pending' }, createdAt: { type: Date, default: Date.now }, startedDate: { type: Date }, completedDate: { type: Date } }); module.exports = mongoose.model('Task', TaskSchema); ```