Gap analysis identified missing test coverage for actuals/expense-categories
routes, and no implementation for savings_goals (schema exists) or expense
category management UI in Settings. Four tasks created in td to address these
gaps: td-61fdb0, td-c04994, td-55695f, td-a94ef7.
Also commit pre-existing .gitignore and settings.local.json changes.
Nightshift-Task: task-groomer
Nightshift-Ref: https://github.com/marcus/nightshift
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The ./server bind mount overwrites /app/server including node_modules
installed during the Docker build. Running npm install on startup
ensures deps are present after the volume mount.
Also reverts the node_modules named-volume workaround in favor of
this cleaner approach (requires node installed locally for non-Docker dev).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Dockerfile: add COPY db/ /app/db/ so migrations are available at
runtime (server/src/db.js requires ../../db/migrations at startup)
- vite.config.js: fix dev proxy port from 3001 to 3000 to match
server's default PORT
Docker build passes; server starts and connects to DB correctly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- One-time expenses: paid toggle, delete, and inline add form in
paycheck columns (wired to POST/DELETE/PATCH /api/one-time-expenses)
- Variable spending actuals section with category select, amount,
note, date fields; actuals included in remaining balance
- Both Phase 3 features fully integrated into PaycheckView
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sets up the full monorepo structure with:
- Multi-stage Dockerfile (client-build + production stages)
- docker-compose.yml for production, docker-compose.dev.yml overlay for development
- Express server (port 3000) with pg pool, health route, and SPA static file serving
- React 18 + Vite client with react-router-dom v6, nav bar, and placeholder page components
- .env.example with PostgreSQL and app config
- Empty db/migrations/ directory for future migrations
- CLAUDE.md updated with development workflow commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>