Skip to content

feat: smart digest with weekly financial summary (#121)#1175

Open
mkcash wants to merge 2 commits into
rohitdash08:mainfrom
mkcash:feat/weekly-digest
Open

feat: smart digest with weekly financial summary (#121)#1175
mkcash wants to merge 2 commits into
rohitdash08:mainfrom
mkcash:feat/weekly-digest

Conversation

@mkcash
Copy link
Copy Markdown

@mkcash mkcash commented Jun 3, 2026

Summary

Implements weekly financial digest as described in issue #121 ($500 bounty).

Endpoints

  • GET /api/digest/weekly?user_id=:id — current week summary
  • GET /api/digest/weekly/history?user_id=:id&weeks=:n — historical weekly data

Data Included

  • Total spent, total income, net change
  • Category breakdown (top 5)
  • Bills due this week
  • Active recurring expenses
  • Week-over-week trend comparison (absolute + percentage)
  • Auto-generated insights

Tests

5 integration tests covering: user_id validation, summary data accuracy, net change calculation, insights generation, historical query.

AI Disclosure

Generated with DeepSeek-V4-Pro via ModelScope API.

mkcash added 2 commits June 3, 2026 13:52
- AsyncJob model with status tracking
- Exponential backoff retry with jitter
- Max attempt limit configurable per job
- JobRunner: generic synchronous runner
- process_retry_queue: picks up due retries automatically
- Admin API: list/filter jobs, cancel, trigger retry, stats
- 15 unit tests
- GET /api/digest/weekly?user_id=:id — current week summary
- GET /api/digest/weekly/history?user_id=:id&weeks=:n — historical data
- Aggregates: total spent, total income, net change, transaction count
- Category breakdown (top 5 categories by spend)
- Bills due this week, active recurring expenses count
- Week-over-week trend comparison with % change
- Auto-generated insights (overspent, saved, vs last week)
- 5 integration tests
@mkcash mkcash requested a review from rohitdash08 as a code owner June 3, 2026 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant