| Day | Task | Start Date | Completion Date | Reference Material |
|---|---|---|---|---|
| 1 | Transaction Service Foundation & Database Setup - Initialize Transaction Service, set up PostgreSQL Database with necessary Entities ( Transaction, TransactionTag, etc.).- Configure HTTP Client Factory with Polly (Retry/Circuit Breaker) for communication with Wallet Service. | 10/11/2025 | 10/11/2025 | Day 6 Docs |
| 2 | Transaction CRUD APIs & Wallet Integration - Implement full CRUD APIs (Create, Read, Update, Delete) for transactions. - Ensure Atomic operations in the creation flow: Deduct Balance via HTTP Client, then save the record to DB. - Implement Soft Delete logic with automatic refund mechanism to the Jar. - Implement Basic Statistics APIs (total expenses, daily spending). | 11/11/2025 | 11/11/2025 | Day 7 Docs |
| 3 | Advanced Filtering, Tags & Budget Support - Complete the GET /api/transactions API with Advanced Filtering (by Date Range, Jar ID, Category ID, Amount Range) and Full-Text Search ( search=).- Implement Transaction Tags system (Add/Remove tags) and API to retrieve tag lists. - Add a support API for Budget Checking for the Wallet Service. | 12/11/2025 | 12/11/2025 | Day 8 Docs |
| 4 | Event-Driven Architecture & Service Integration - Set up RabbitMQ and MassTransit across services. - Implement Consumers in Wallet Service to handle the TransactionCreated event (update Jar balance).- Implement Consumers in Transaction Service to auto-create transactions from Wallet events (e.g., WalletDeposited, WalletWithdrawn).- Ensure Idempotency for all Consumers. | 13/11/2025 | 13/11/2025 | Day 9 Docs |
| 5 | Sprint 2 Testing, Bug Fixes & Polish - Conduct End-to-End Integration Testing for the entire business flow (Registration -> Wallet -> Jar -> Transaction -> Budget Alerts). - Load Test with 50 concurrent requests. - Performance Optimization (add DB Indexes, Caching). - Update Documentation (Swagger, Postman, README). | 14/11/2025 | 14/11/2025 | Day 10 Docs |