| Day | Task | Start Date | Completion Date | Reference Material |
|---|---|---|---|---|
| 1 | Microservice Architecture & Shared Libraries Setup - Initialize the .NET Aspire solution and structure 6 Microservices (User, Wallet, Transaction, Report, Notification, AI Integration Service). - Configure Service Discovery and Docker Compose for the local development environment. - Build core Shared Libraries: Common.DTOs (with ApiResponse<T>), Common.Authentication (JWT), Common.Messaging (MassTransit/RabbitMQ), Common.Repositories (UoW Pattern), and Common.Middlewares (Rate Limiting, Correlation ID). | 03/11/2025 | 03/11/2025 | Day 1 Docs |
| 2 | Implement User Service & Authentication Integration - Set up PostgreSQL Database ( user_service_db) and design the User Entity (using Guid.CreateVersion7(), Soft Delete Filter).- Integrate AWS Cognito authentication (JWT Bearer Authentication) and create middleware to extract CognitoSub.- Implement automatic user record creation logic upon first login. - Implement Core APIs: GET /api/users/me (Get/Create profile), PUT /api/users/me (Update), and POST /api/users/complete-profile. | 04/11/2025 | 04/11/2025 | Day 2 Docs |
| 3 | Wallet Service - Part 1: Wallet Management & Allocation Logic - Set up PostgreSQL Database ( wallet_service_db) and design Wallet, MoneyJar, BudgetPeriod Entities.- Implement Message Consumer to automatically create Wallet upon receiving the UserCreated event, and simultaneously create the default “Income” jar.- Implement core Wallet APIs: Deposit, Withdraw (from Available Balance only), Reconcile (Synchronize total balance), and Soft Delete/Archive Wallet. - Implement basic Money Jar CRUD APIs. | 05/11/2025 | 05/11/2025 | Day 3 Docs |
| 4 | Wallet Service - Part 2: Money Jar, Goals & Budget - Complete CRUD for Money Jar, including logic to recalculate AvailableBalance upon updating AllocatedAmount.- Integrate Goals Tracking (calculate ProgressPercent) and GoalAchieved event publishing logic.- Implement Jar Operations: Deposit, Withdraw, Transfer between jars, and Reconcile Jar Balance. - Implement Budget Threshold & Over-Budget Logic (publish warning events) and Jar Expiry Processing Service (handle Income Jar auto-reset, Expense Jar Grace Period/Auto-Return). | 06/11/2025 | 06/11/2025 | Day 4 Docs |
| 5 | End-to-End Integration & Testing - Set up API Gateway (Routing, CORS, Rate Limiting). - Configure Service-to-Service communication with HTTP Client Factory and Polly (Retry Policy, Circuit Breaker). - Perform Integration Testing for the End-to-End flow: New User Onboarding, Jar Creation, Wallet/Jar Operations (Deposit/Withdraw/Transfer/Reconcile), and Goal Achievement. - Test Security (JWT Expiration, Authorization) and Concurrency (Balance Updates). | 07/11/2025 | 07/11/2025 | Day 5 Docs |
GoalAchieved event publishing.