Skip to content

feat: add financial statement providers (FMP + SectorsApp)#175

Open
lugassawan wants to merge 10 commits intomainfrom
feat/financial-statement-providers
Open

feat: add financial statement providers (FMP + SectorsApp)#175
lugassawan wants to merge 10 commits intomainfrom
feat/financial-statement-providers

Conversation

@lugassawan
Copy link
Owner

Issue

N/A

Summary

  • Add full financial statement data support (income statement, balance sheet, cash flow) with historical periods (quarterly + annual)
  • Two new providers: Financial Modeling Prep (FMP) as primary, SectorsApp as fallback
  • New FinancialStatementProvider interface separate from DataProvider, with its own priority-based registry
  • Database migration V13 with three new tables and period-aware unique constraints
  • Use case with 24h cache TTL via LatestFetchedAt
  • API key settings handler (keys stored in app_settings, never exposed to frontend)
  • Frontend settings UI for managing API keys in the Data tab

Test Plan

  • Linter passes (make lint)
  • All backend tests pass (make test-go) — 31 packages, 0 failures
  • Biome check passes on frontend files
  • Manual: make dev → Settings > Data → enter FMP API key, verify status shows "Configured"
  • Manual: clear API key, verify status shows "Not configured"
  • Manual: verify restart hint is shown after key changes

Notes

  • API key changes require app restart — hot-reload is a follow-up
  • SectorsApp API endpoints are stubbed based on available docs; may need adjustment against the live API
  • dupl linter exclusion added for _test.go files — repo tests are structurally similar across entity types by design

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