Status for this app now lives on the Vikunja board (saved filter finance-app), which replaced the smarthome repo's ACTIONS.md on 2026-07-30. Notes the thing a single-label filter hides: a ticket can carry several system labels — the receipt→pantry work is finance-app, pantry-app and email-ingestion at once — so the finance filter is a view, not the boundary of what will touch this codebase. Also records the one dated item here: postgres-personal runs PostgreSQL 14, EOL 2026-11-12, and it holds statements, transactions, orders and expense_metadata.
This commit is contained in:
@@ -6,6 +6,8 @@ Application code lives in `src/`. Next.js App Router pages and API route handler
|
|||||||
|
|
||||||
Keep data flow consistent: API routes call query functions in `src/lib/queries.ts`, which use `queryRaw()` from `src/lib/db.ts`; client components access APIs through TanStack Query hooks in `src/lib/hooks.ts`.
|
Keep data flow consistent: API routes call query functions in `src/lib/queries.ts`, which use `queryRaw()` from `src/lib/db.ts`; client components access APIs through TanStack Query hooks in `src/lib/hooks.ts`.
|
||||||
|
|
||||||
|
**Task tracking is the Vikunja board at `https://tasks.bosecamp.com`** (project *Work*, saved filter **finance-app**), which replaced the smarthome repo's `ACTIONS.md` on 2026-07-30. Update the ticket in the same change as the code. See `CLAUDE.md` → "Work tracking".
|
||||||
|
|
||||||
## Build, Test, and Development Commands
|
## Build, Test, and Development Commands
|
||||||
|
|
||||||
- `npm ci` installs the locked dependency set (Node 22 is used in CI).
|
- `npm ci` installs the locked dependency set (Node 22 is used in CI).
|
||||||
|
|||||||
@@ -11,6 +11,33 @@ Personal finance tracker. Bank statements are ingested via an N8N workflow (in t
|
|||||||
- **Auth**: `X-Forwarded-User` header (email) set by Traefik → `participants.email`. In dev/fallback: participant id=1 ("Me")
|
- **Auth**: `X-Forwarded-User` header (email) set by Traefik → `participants.email`. In dev/fallback: participant id=1 ("Me")
|
||||||
- **Runs at**: port 3000 inside container, exposed on host port 4100, proxied at `https://finance.bosecamp.com`
|
- **Runs at**: port 3000 inside container, exposed on host port 4100, proxied at `https://finance.bosecamp.com`
|
||||||
|
|
||||||
|
## Work tracking — the board, not a markdown file
|
||||||
|
|
||||||
|
Outstanding work for this app lives on the Vikunja board at
|
||||||
|
`https://tasks.bosecamp.com` (project **Work**), which replaced the smarthome
|
||||||
|
repo's `ACTIONS.md` on 2026-07-30.
|
||||||
|
|
||||||
|
Find this app's work with the saved filter **finance-app**, or
|
||||||
|
`done = false && labels in <finance-app-label-id>`. Note that a ticket can carry
|
||||||
|
*several* system labels — the receipt→pantry work is labelled `finance-app`,
|
||||||
|
`pantry-app` **and** `email-ingestion` — so don't assume the finance filter shows
|
||||||
|
everything that will touch this codebase.
|
||||||
|
|
||||||
|
Epics that own most finance work: **Order & receipt ingestion (ING-7/8/10)**,
|
||||||
|
**Cashback tracking (ING-6)**, **Utility bills slice**, **Lane C — Ingestion
|
||||||
|
engine**, **Postgres estate & PG 14 EOL**.
|
||||||
|
|
||||||
|
**Update the ticket in the same change as the code.** The board is only worth
|
||||||
|
having if its status is true, and the previous system drifted precisely because
|
||||||
|
status lived somewhere nobody touched while shipping.
|
||||||
|
|
||||||
|
Token and API conventions: smarthome `CLAUDE.md` → "Work tracking". The token is
|
||||||
|
in smarthome `docker/utilities/.env`; this repo does not carry it.
|
||||||
|
|
||||||
|
**One deadline here is real:** `postgres-personal` runs **PostgreSQL 14, EOL 12
|
||||||
|
November 2026** — it holds `statements`, `transactions`, `orders` and
|
||||||
|
`expense_metadata`. Tracked in the Postgres epic, not here.
|
||||||
|
|
||||||
## Common Commands
|
## Common Commands
|
||||||
|
|
||||||
**Deployment is push-to-deploy via Komodo** (since 2026-07-19): pushing to `main` on
|
**Deployment is push-to-deploy via Komodo** (since 2026-07-19): pushing to `main` on
|
||||||
|
|||||||
Reference in New Issue
Block a user