Files
WealthySmart/CLAUDE.md
Carlos Escalante 15ea1ef4c2 Fail fast on missing or weak auth secrets; 7-day tokens
SECRET_KEY, ADMIN_USERNAME, and ADMIN_PASSWORD no longer have working
defaults: the backend refuses to boot if they are unset, default, or
weak (SEC-01). Token expiry drops from 30 to 7 days (SEC-05). New
COOKIE_SECURE (default true) and CORS_ORIGINS settings. Dev compose now
sources credentials from .env with required-var errors instead of
hardcoding them (ARCH-14); .env.example documents the template.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-09 19:13:19 -06:00

1.6 KiB

WealthySmart

Personal finance management web app.

Stack

  • Frontend: React 19 + Vite + TypeScript + Tailwind CSS 4
  • Package manager: pnpm

Development

cd frontend && pnpm install && pnpm run dev

The backend refuses to boot without SECRET_KEY, ADMIN_USERNAME, and ADMIN_PASSWORD (no insecure defaults). Copy .env.example to .env and fill it in; the dev docker-compose reads it.

Local Docker

# Backend + DB containers
docker exec wealthysmart-db-dev psql -U wealthy_user -d wealthysmart -c 'SQL;'

Deployment

  • Deployed via Gitea Actions (self-hosted runner on VPS)
  • Push to main triggers: GitHub → webhook → Gitea mirror sync → Actions workflow → Docker build & deploy
  • Domain: wealth.cescalante.dev
  • Reverse proxy: nginx-proxy + acme-companion (auto TLS)

Infrastructure

  • Single server: ssh old-vps — runs everything (WealthySmart, n8n, Forgejo, Vaultwarden, nginx-proxy)
  • ssh production is NOT valid — do not use
  • n8n UI: https://n8n.cescalante.dev — n8n DB queryable via docker exec portfolio-db-prod psql -U portfolio_user -d n8n

n8n Flows

Four automated flows on old-vps feed data into WealthySmart:

  1. BAC Credit Card — Gmail trigger → POST /transactions/
  2. Salary Deposits — Gmail trigger → POST /transactions/
  3. Municipal Receipts — Cron trigger → POST /municipal-receipts/upload
  4. Pension PDFs (e88c3UhBeo9WCbcy) — Gmail trigger (daily midnight) → POST /pensions/upload

Flow export: docs/WealthySmart_ BAC Pensions Statements parser.json