## 1. Backend DTO Updates - [x] 1.1 Update TaskListItemDto.cs to add `string? AssigneeName` field - [x] 1.2 Update TaskDetailDto.cs to add `string? AssigneeName` and `string? CreatedByName` fields - [x] 1.3 Update ShiftSignupDto.cs to add `string? MemberName` field ## 2. Backend Service Updates - Tasks - [x] 2.1 Update TaskService.GetTasksAsync() to join with Members and populate assigneeName - [x] 2.2 Update TaskService.GetTaskByIdAsync() to join with Members for assignee and creator names - [x] 2.3 Update TaskService.CreateTaskAsync() to fetch and include creator name in response - [x] 2.4 Update TaskService.UpdateTaskAsync() to join with Members for assignee and creator names ## 3. Backend Service Updates - Shifts - [x] 3.1 Update ShiftService.GetShiftByIdAsync() to include member display name in ShiftSignupDto - [x] 3.2 Update ShiftService.UpdateShiftAsync() to include member display name in ShiftSignupDto ## 4. Frontend Type Updates - [x] 4.1 Update TaskListItemDto interface in useTasks.ts to add `assigneeName?: string` - [x] 4.2 Update TaskDetailDto interface in useTasks.ts to add `assigneeName?: string` and `createdByName?: string` - [x] 4.3 Update ShiftSignupDto interface in useShifts.ts to add `memberName?: string` ## 5. Frontend UI Updates - Tasks - [x] 5.1 Update tasks/page.tsx to display assigneeName instead of assigneeId - [x] 5.2 Update tasks/[id]/page.tsx to display assigneeName instead of assigneeId - [x] 5.3 Update tasks/[id]/page.tsx to display createdByName instead of createdById ## 6. Frontend UI Updates - Shifts - [x] 6.1 Update shifts/[id]/page.tsx to display memberName instead of memberId in signup list ## 7. Testing & Verification - [x] 7.1 Run backend build to verify C# compilation succeeds - [x] 7.2 Run frontend build to verify TypeScript compilation succeeds - [x] 7.3 Verify task list shows member names correctly - [x] 7.4 Verify task detail shows assignee and creator names - [x] 7.5 Verify shift detail shows member names in signup list