KanbanStructure - IEEE-Team-3/map GitHub Wiki
The Kanban board provides a visual system for organizing tasks into different stages, such as "To Do," "In Progress," and "Done." It helps users track task progress and assign responsibilities within teams.
- Columns: Each column represents a specific task status (e.g., To Do, In Progress, Done).
- Cards: Each card represents a task that can be moved between columns.
- Teams: Each team has its own board where tasks can be assigned to team members.
- To Do: Tasks that are planned but not yet started.
- In Progress: Tasks that are actively being worked on.
- Review: Tasks that are completed and awaiting review.
- Done: Completed tasks.
const KanbanColumnSchema = new Schema({
name: { type: String, required: true },
position: { type: Number, required: true },
});
const TaskSchema = new Schema({
title: { type: String, required: true },
description: { type: String },
status: { type: String, enum: ['To Do', 'In Progress', 'Review', 'Done'] },
assignee: { type: Schema.Types.ObjectId, ref: 'User' },
column: { type: Schema.Types.ObjectId, ref: 'KanbanColumn' },
});
The Kanban board will allow users to create tasks, move them through columns based on progress, and assign them to team members.
function moveTaskToColumn(taskId, columnId) {
const task = Task.findById(taskId);
task.column = columnId;
task.save();
}
function createColumn(name, position) {
const column = new KanbanColumn({
name,
position,
});
column.save();
}