Week 11 Worklog

Week 11 Objectives:

  • Completed the deployment of the Report Service using CQRS architecture to separate read/write flows, ensuring high performance for complex reports.
  • Implemented advanced analytics features: Spending Trends, Budget vs. Actual Comparison, and multi-sheet Excel Report Export.
  • Built a comprehensive Notification Service supporting multi-channel delivery: Email (via AWS SES) and In-App (via SignalR), allowing users to customize notification preferences.
  • Established the Period End Automation process to handle surplus funds and prepare the Backend for AI (OCR/Voice) integration.

Tasks to be carried out this week:

DayTaskStart DateCompletion DateReference Material
1Report Service Foundation & CQRS Setup
- Initialized Report Service, setup PostgreSQL (report_service_db) and Read Model entities (TransactionSummary, JarAnalytics).
- Implemented CQRS pattern: Handled events from Transaction Service (TransactionCreated, Updated, Deleted) to update report data in real-time.
- Built Basic Report APIs to retrieve period summaries and basic jar statistics.
17/11/202517/11/2025Day 11 Docs
2Advanced Analytics & Excel Export
- Developed advanced analytics APIs: Spending trends (day/week/month), budget vs. actual comparison, and goal progress.
- Integrated Excel library (EPPlus/ClosedXML) to export Multi-sheet reports (Transaction History, Jar Analytics, Category Analytics).
- Configured Caching for reports to optimize query performance.
18/11/202518/11/2025Day 12 Docs
3Notification Service & Email Integration
- Initialized Notification Service connected to MongoDB (UserPreferences, EmailHistory).
- Integrated AWS SES and created email templates for critical alerts (Budget Exceeded, Low Balance, Goal Achieved).
- Built Preferences management API allowing users to choose notification frequency (Daily/Weekly) and types.
19/11/202519/11/2025Day 13 Docs
4Period End Automation & In-App Alerts
- Setup Job Scheduler (Hangfire/Quartz) to automate the period-end process: Calculate surplus, return to main wallet, and generate summary reports.
- Implemented real-time In-App notification system via SignalR Hub.
- Built APIs to mark as read (mark-as-read) and manage unread badge counts.
20/11/202520/11/2025Day 14 Docs
5AI Service Integration (Backend Side)
- Updated Transaction Entity to include AI metadata fields (AiExtracted, ConfidenceScore, OriginalText).
- Developed Batch Transaction API (POST /batch) to support processing multi-item OCR bills in a single call.
- Updated processing flow so Backend receives user-reviewed data from Client instead of auto-creating from AI events.
21/11/202521/11/2025Day 15 Docs

Week 11 Achievements:

  • Successfully operated the reporting system with the CQRS pattern, providing real-time analytics data.
  • Excel Export feature works perfectly with detailed multi-sheets (Transaction History, Jar Analysis, Category Analysis).
  • Multi-Channel Notification System:
    • AWS SES integrated to send alert emails (Budget Exceeded, Low Balance).
    • SignalR system stable for real-time in-app notifications.
  • Automation & AI Readiness:
    • Period-end processing job automated: accurately calculates surplus and returns it to the main wallet.
    • Backend completed API support for Batch Transactions and storage of AI Metadata (Confidence Score, Original Text).