Workshop To-Do
Data Entity
Description
Task items created within the context of a mentor program workshop, enabling coordinators and facilitators to track action items, assignments, and follow-up tasks for workshop participants.
Data Structure
| Name | Type | Description | Constraints |
|---|---|---|---|
id |
uuid |
Primary key | PKrequiredunique |
workshop_id |
uuid |
Foreign key to mentor_workshops | required |
title |
string |
Short title or label for the to-do item | required |
description |
text |
Optional detailed description or notes for the to-do item | - |
is_completed |
boolean |
Whether the to-do item has been marked as done | required |
completed_at |
datetime |
Timestamp when the item was marked completed | - |
completed_by_user_id |
uuid |
User who marked the item completed | - |
assigned_to_user_id |
uuid |
User (participant or facilitator) responsible for this to-do | - |
due_date |
datetime |
Optional deadline for completing this to-do item | - |
sort_order |
integer |
Display order of the to-do item within its workshop list | required |
created_by_user_id |
uuid |
User who created this to-do item | required |
created_at |
datetime |
Record creation timestamp | required |
updated_at |
datetime |
Record last-updated timestamp | required |
Database Indexes
idx_workshop_todos_workshop_id
Columns: workshop_id
idx_workshop_todos_workshop_sort
Columns: workshop_id, sort_order
idx_workshop_todos_assigned_user
Columns: assigned_to_user_id
idx_workshop_todos_is_completed
Columns: workshop_id, is_completed
Validation Rules
title_required
error
Validation failed
due_date_not_in_past_on_create
warning
Validation failed
sort_order_non_negative
error
Validation failed
assigned_user_belongs_to_workshop
warning
Validation failed
Business Rules
workshop_must_exist
A to-do item can only be created for an existing mentor workshop; the workshop_id must reference a valid mentor_workshops record.
completion_timestamp_on_done
When is_completed is set to true, completed_at must be set to the current timestamp and completed_by_user_id must be recorded.
clear_completion_on_reopen
When is_completed is set back to false, completed_at and completed_by_user_id must be cleared to null.
only_workshop_participants_can_complete
Only users who are participants or facilitators of the associated workshop (or coordinators of the owning organization) may mark a to-do item as completed.