Initial scaffold: single-month budget MVP #2
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/1-scaffold"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #1 (will be manually closed on merge).
Summary
Stands up the quartermaster project end-to-end:
entry(name + amount per section) anddebt_target(singleton FK to entry)Sections on the page
Incomes, Fixed Amount Bills, Debt Minimums, Primary Debt Target (pointer), Food and Essentials, Subscriptions, Other. Each section except the debt target accepts name + amount entries and shows a running total.
Schema
ON DELETE SET NULLmeans deleting a targeted debt minimum clears the pointer without cascading. SQLitePRAGMA foreign_keys=ONis set on every connection.Test plan
uv run pytestpasses (13/13)uv run alembic upgrade headapplies the initial migration against a fresh SQLite file/renders all 7 section cards with HTMX + CSS loadedPOST /sections/income/entriesadds a row and updates the totalPOST /sections/debt_minimum/entriesreturns the section partial plus an OOB target cardPOST /debt-targetwith a debt_minimum id sets the target; with empty string clears itDELETE /entries/{id}of the targeted debt minimum nulls the pointer and the target card shows "No target selected"Out of scope
Multi-month budgets, auth, CSV import/export, currency formatting beyond plain USD.