Week 10 Worklog

Week 10 Objectives:

  • Complete the implementation of Transaction Service (Create, Read, Update, Delete) with a tightly controlled money flow via Wallet Service (balance check and deduction).
  • Implement advanced Transaction features: Advanced Filtering, Full-Text Search, Tags, and AI Metadata support.
  • Fully establish the Event-Driven Architecture (EDA) using RabbitMQ/MassTransit for data synchronization across services (User, Wallet, Transaction).
  • Finalize Integration Testing and performance optimization for core business flows.

Tasks to be carried out this week:

DayTaskStart DateCompletion DateReference Material
1Transaction 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/202510/11/2025Day 6 Docs
2Transaction 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/202511/11/2025Day 7 Docs
3Advanced 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/202512/11/2025Day 8 Docs
4Event-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/202513/11/2025Day 9 Docs
5Sprint 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/202514/11/2025Day 10 Docs

Week 10 Achievements:

  • Transaction Service Completed:
    • Full CRUD implemented, tight money flow control, and automatic refund mechanism on deletion.
  • Advanced Feature Support:
    • Effective multi-dimensional filtering and searching integrated.
    • Support for Transaction Tags and storing AI Metadata (JSONB).
  • Stable Event-Driven Architecture:
    • RabbitMQ/MassTransit is operational, ensuring Jar balance synchronization between Transaction and Wallet Services.
    • Successfully handled events for automatic transaction creation.
  • Stable and Tested System:
    • The entire Sprint was covered by Integration Testing and performance optimization was completed.