Created detailed implementation plans for Sprint 2 backend work: Story 1: Audit Log Foundation (Phase 1) - Task 1: Design AuditLog database schema and create migration - Task 2: Create AuditLog entity and Repository - Task 3: Implement EF Core SaveChangesInterceptor - Task 4: Write unit tests for audit logging - Task 5: Integrate with ProjectManagement Module Story 2: Audit Log Core Features (Phase 2) - Task 1: Implement Changed Fields Detection (JSON Diff) - Task 2: Integrate User Context Tracking - Task 3: Add Multi-Tenant Isolation - Task 4: Implement Audit Query API - Task 5: Write Integration Tests Story 3: Sprint Management Module - Task 1: Create Sprint Aggregate Root and Domain Events - Task 2: Implement Sprint Repository and EF Core Configuration - Task 3: Create CQRS Commands and Queries - Task 4: Implement Burndown Chart Calculation - Task 5: Add SignalR Real-Time Notifications - Task 6: Write Integration Tests Total: 3 Stories, 16 Tasks, 24 Story Points (8+8+8) Estimated Duration: 10-12 days All tasks include: - Detailed technical implementation guidance - Code examples and file paths - Testing requirements (>= 90% coverage) - Performance benchmarks (< 5ms audit overhead) - Multi-tenant security validation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
83 lines
2.4 KiB
Markdown
83 lines
2.4 KiB
Markdown
---
|
|
story_id: sprint_2_story_2
|
|
sprint: sprint_2
|
|
priority: P0
|
|
status: not_started
|
|
story_points: 8
|
|
estimated_days: 3-4
|
|
created_date: 2025-11-05
|
|
assignee: Backend Team
|
|
---
|
|
|
|
# Story 2: Audit Log Core Features (Phase 2)
|
|
|
|
**Sprint**: Sprint 2
|
|
**Priority**: P0 (Must Have)
|
|
**Estimated**: 3-4 days (Day 27-30)
|
|
**Owner**: Backend Team
|
|
|
|
## Description
|
|
|
|
Enhance audit logging with core features including changed fields detection (old vs new values JSON diff), user context tracking, multi-tenant isolation, query API, and integration tests.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [ ] Changed fields tracking implemented with JSON diff
|
|
- [ ] User context (UserId) automatically captured
|
|
- [ ] Multi-tenant isolation for audit logs enforced
|
|
- [ ] Query API implemented for retrieving audit history
|
|
- [ ] Integration tests with >= 90% coverage
|
|
- [ ] Performance target met (< 5ms overhead)
|
|
- [ ] All tests passing
|
|
|
|
## Technical Requirements
|
|
|
|
**Enhanced Features**:
|
|
- Changed Fields Detection: Compare old vs new values, store only changed fields
|
|
- User Context: Automatically capture current user from HTTP context
|
|
- Multi-Tenant Isolation: Filter audit logs by TenantId
|
|
- Query API: REST endpoints for audit history retrieval
|
|
|
|
**Technology Stack**:
|
|
- System.Text.Json for JSON diffing
|
|
- PostgreSQL JSONB for flexible storage
|
|
- CQRS pattern for query handlers
|
|
|
|
## Tasks
|
|
|
|
- [ ] [Task 1](sprint_2_story_2_task_1.md) - Implement Changed Fields Detection (JSON Diff)
|
|
- [ ] [Task 2](sprint_2_story_2_task_2.md) - Integrate User Context Tracking
|
|
- [ ] [Task 3](sprint_2_story_2_task_3.md) - Add Multi-Tenant Isolation
|
|
- [ ] [Task 4](sprint_2_story_2_task_4.md) - Implement Audit Query API
|
|
- [ ] [Task 5](sprint_2_story_2_task_5.md) - Write Integration Tests
|
|
|
|
**Progress**: 0/5 tasks completed
|
|
|
|
## Dependencies
|
|
|
|
**Prerequisites**:
|
|
- ✅ Story 1 completed (Audit Log Foundation)
|
|
- ✅ EF Core Interceptor implemented
|
|
- ✅ AuditLog entity and repository ready
|
|
|
|
## Definition of Done
|
|
|
|
- All 5 tasks completed
|
|
- Changed fields detection working correctly
|
|
- User context captured from HTTP context
|
|
- Multi-tenant isolation verified
|
|
- Query API endpoints working
|
|
- All tests passing (>= 90% coverage)
|
|
- Performance benchmark met (< 5ms overhead)
|
|
- Code reviewed and approved
|
|
- Git commit created
|
|
|
|
## Notes
|
|
|
|
**Performance Target**: < 5ms overhead per SaveChanges operation
|
|
**JSON Diff**: Store only changed fields, not full entity snapshots (storage optimization)
|
|
|
|
---
|
|
|
|
**Created**: 2025-11-05 by Backend Agent
|