Files
WealthySmart/CLAUDE.md
Carlos Escalante efe6d88286
All checks were successful
Deploy to VPS / deploy (push) Successful in 50s
Add EUR currency support for international transactions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 20:29:37 -06:00

46 lines
1.4 KiB
Markdown

# WealthySmart
Personal finance management web app.
## Stack
- **Frontend:** React 19 + Vite + TypeScript + Tailwind CSS 4
- **Package manager:** pnpm
## Development
```bash
cd frontend && pnpm install && pnpm run dev
```
## Local Docker
```bash
# 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`