siddharthd
5dbeb0cb87
chore: commit previously untracked runtime files (splits, auth, participants, shared)
2026-03-08 18:00:46 +11:00
siddharthd
30a7857d13
feat(analytics): replace budget page with spending analytics + split-adjusted amounts
...
- Rename 'Budget' → 'Analytics' in sidebar
- Rewrite /budget page: summary cards, recharts bar charts (monthly trend + category breakdown), 6-month trend table
- Fix analytics API to count only user's share for split transactions (CASE WHEN ts.share_percent IS NOT NULL THEN amount * share_percent / 100 ELSE amount END)
- Install recharts
2026-03-08 17:58:33 +11:00
siddharthd
1e79ada6d8
feat(finance): implement Shared Expenses page
...
Show split transactions with per-participant balance cards and settle buttons.
2026-03-08 17:24:04 +11:00
siddharthd
be85822cc7
merge: Phase 5 (Rules Engine) + Phase 6 (Budget & Analytics)
...
Resolve additive conflicts in schema.prisma and hooks.ts — both models and all hooks retained.
2026-03-08 17:09:57 +11:00
siddharthd
d455738732
feat(finance): Phase 6 — Budget & Analytics
...
Add monthly budgets per category with spend-vs-budget dashboard and 6-month trend table.
Includes upsert budget API, monthly analytics endpoint, inline budget editing, and route auth fixes.
2026-03-08 16:57:33 +11:00
siddharthd
31cffbe1bb
feat(finance): Phase 5 — Rules Engine
...
Add rules engine with CRUD API, condition/action evaluation, and apply-all endpoint.
UI: rule builder form with field/operator/value conditions, tag multi-select, apply button with result stats.
2026-03-08 16:56:13 +11:00
siddharthd
93450f7caa
feat(finance): Phase 4 — Tags
...
- tags table: name, color; transaction_tags junction table
- GET/POST /api/tags; DELETE /api/tags/:id
- POST/DELETE /api/transactions/:id/tags for per-transaction tagging
- Bulk tag/untag via /api/transactions/bulk (action: tag/untag)
- Tags returned inline with transaction list via LATERAL join
- Tag filter on Transactions page
- Bulk "Tag as..." in bulk action bar
- Tag pills + "+" picker on each transaction row
- /tags page: create with color picker, list with counts, delete
2026-03-08 16:28:03 +11:00
siddharthd
35a5be97b0
feat: initial finance SPA — phases 1 & 2
...
Next.js 16 personal finance dashboard connected to postgres-personal.
Phase 1 (Foundation):
- API routes: GET /api/transactions (paginated, filterable, sortable),
GET /api/statements, GET /api/merchants
- Transactions data table with date/category/bank/search filters, pagination, sort
- Statements card grid with period, due date, amount, transaction count
- Sidebar layout with nav for all planned sections
Phase 2 (Normalisation):
- PATCH /api/transactions/[id] — upsert transaction_overrides
- POST /api/transactions/bulk — bulk categorize/normalize
- Inline click-to-edit category (22 options) and merchant name
- Blue dot override indicator, bulk action bar
- Effective values via COALESCE(override, llm_value) pattern
Stack: Next.js 16 (App Router, standalone), Prisma 7.x + @prisma/adapter-pg,
TanStack Query, Tailwind CSS. Auth via Traefik chain-oauth@file.
2026-03-07 23:31:40 +11:00
siddharthd
28207b42b5
Initial commit from Create Next App
2026-03-07 19:32:57 +11:00