45 lines
1.4 KiB
V
45 lines
1.4 KiB
V
module projects
|
|
|
|
import base
|
|
|
|
// SprintStatus represents the status of a sprint
|
|
pub enum SprintStatus {
|
|
planning
|
|
active
|
|
review
|
|
completed
|
|
cancelled
|
|
}
|
|
|
|
// Sprint represents a time-boxed period in which specific work has to be completed
|
|
pub struct Sprint {
|
|
base.Base
|
|
pub mut:
|
|
name string
|
|
description string
|
|
project_id u32 // ID of the project this sprint belongs to
|
|
status SprintStatus
|
|
start_date string // Start date in ISO format
|
|
end_date string // End date in ISO format
|
|
goal string // The goal of this sprint
|
|
story_ids []u32 // IDs of the stories in this sprint
|
|
issue_ids []u32 // IDs of the issues in this sprint
|
|
epic_ids []u32 // IDs of the epics this sprint contributes to
|
|
velocity f32 // Planned velocity for this sprint
|
|
actual_points f32 // Actual story points completed
|
|
retrospective string // Notes from the sprint retrospective
|
|
}
|
|
|
|
// SprintReport represents a report generated at the end of a sprint
|
|
pub struct SprintReport {
|
|
base.Base
|
|
pub mut:
|
|
sprint_id u32
|
|
completed_items u32 // Number of items completed
|
|
total_items u32 // Total number of items
|
|
completed_points f32 // Number of story points completed
|
|
total_points f32 // Total number of story points
|
|
blockers []string // List of blockers encountered
|
|
achievements []string // List of achievements
|
|
lessons []string // Lessons learned
|
|
} |