Skip to content

Portfolio enhancements: value history, gainers/losers, CSV export, grading opportunities#61

Merged
Pyronewbic merged 1 commit into
mainfrom
dev
May 12, 2026
Merged

Portfolio enhancements: value history, gainers/losers, CSV export, grading opportunities#61
Pyronewbic merged 1 commit into
mainfrom
dev

Conversation

@Pyronewbic
Copy link
Copy Markdown
Owner

Summary

  • Portfolio value history: daily snapshots via track-prices scheduler, GET /api/portfolio/history
  • Biggest gainers/losers: extended summary with top 3 by price change % (default 7-day lookback)
  • CSV export: GET /api/portfolio/export?format=csv with card identity enrichment, UTF-8 BOM
  • Grading opportunities: GET /api/portfolio/grading-opportunities flags ungraded cards worth grading using PSA signal data
  • 238 tests (118 unit + 80 API + 40 smoke)

Breaking changes

None. Existing portfolio endpoints unchanged — new fields added to summary response.

Demo data

  • All 4 endpoints work with ?demo=true
  • History generates 30 days of synthetic data
  • Gainers: Greninja +28.65%, Losers: Pikachu -0.94%
  • CSV exports 3 rows with set/rarity columns
  • Grading: Umbreon worth_grading ($270 profit), Greninja marginal, Pikachu skipped

…portunities

Four portfolio enhancements:
- Value history with daily snapshots via track-prices scheduler
- Biggest gainers/losers in summary (top 3 each by price change %)
- CSV export with card identity enrichment and UTF-8 BOM
- Grading opportunities: flags ungraded cards worth grading using PSA signal

238 tests (118 unit + 80 API + 40 smoke).
@Pyronewbic Pyronewbic merged commit 1a70012 into main May 12, 2026
2 checks passed
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