Skip to content

feat(overview): drive the sandbox overview from live ledger data#342

Merged
tiana-code merged 5 commits into
mainfrom
feat/overview-live-data
Jun 29, 2026
Merged

feat(overview): drive the sandbox overview from live ledger data#342
tiana-code merged 5 commits into
mainfrom
feat/overview-live-data

Conversation

@tiana-code

Copy link
Copy Markdown
Owner

What

Replaces the fabricated Overview mock with live ledger data.

  • Backend: new read endpoint GET /v1/overview (scope ledger:read) returning recent ledger activity (transactions + accounts, 1:1 row->event, no double counting) and the real 24h hourly transaction count. Thin controller -> OverviewService (@Transactional(readOnly = true)) -> hand-written mapper. Native projections are parameterized; sparkline buckets are UTC-anchored.
  • Demo seed: demo/002-demo-transactions.sql seeds 10 balanced USD transactions + entries + derived balances via a demo-context Liquibase changeset. Both entry legs land in one changeset so the deferred double-entry trigger passes at commit; timestamps are NOW()-relative so the 24h sparkline populates on a fresh sandbox.
  • Frontend: useLedgerOverview feeds the activity list and the transactions sparkline; user/tenant come from JWT claims (display only). The fabricated version/build/uptime line and fake service-health chips are dropped (a static SPA cannot honestly assert them). Offline and empty states show placeholders, never invented numbers.

Verification

  • ledger unit 15/15, OverviewQueryIntegrationTest 4/4, OverviewDemoSeedIT 1/1
  • web tsc clean, eslint clean, vitest 63/63

Gates

critic GO-WITH-CHANGES (folded in), code-reviewer PASS on all hard rules, security-auditor PASS, evaluator 0.92 (threshold 0.80).

Deferred (LIMIT-20 paths, premature to optimize now): correlated subqueries in findRecentActivity -> JOIN; account read via projection instead of full entity.

@tanya_r added 5 commits June 29, 2026 00:44
Add a ledger read endpoint GET /v1/overview returning recent ledger activity
and the real 24h hourly transaction count, seed demo transactions through a
Liquibase demo changeset, and wire the web overview to live data. Drop the
fabricated mock, the version/build/uptime line and the fake service-health
chips; offline and empty states show placeholders instead of invented numbers.
@tiana-code tiana-code merged commit de0ff64 into main Jun 29, 2026
10 checks passed
@tiana-code tiana-code deleted the feat/overview-live-data branch June 29, 2026 05:00
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