Quick start
Run FudFi locally: install the workspaces, start an embedded Postgres, point the backend at it, then run both apps.
This repo is developed on Windows but deploys to Linux. Never commit a frontend/package-lock.json — the root package-lock.json is the only lockfile.
Install dependencies
From the repo root:
npm installThis is an npm workspaces monorepo (backend, frontend), so a single install covers both.
Start an embedded Postgres
The repo ships a local, Docker-free Postgres. Leave it running in its own terminal:
node backend/scripts/local-db.jsIt listens on 127.0.0.1:55432 with user postgres, password password, database fudfi. Data is stored in backend/.localpg/ (gitignored).
Create backend/.env
DATABASE_URL=postgres://postgres:password@127.0.0.1:55432/fudfi
ALLOWED_ORIGINS=http://localhost:3001
# Optional: Twitter OAuth, Cloudinary, GEMINI_API_KEY, HF_API_KEYbackend/db/client.js disables TLS automatically for localhost, so do not append ?sslmode=require.
Run the apps
npm run dev # backend + frontend together
# or individually
npm run dev:backend # API on :3000
npm run dev:frontend # App on :3001Connect a wallet
Open http://localhost:3001 and connect a wallet. An EVM wallet signs a challenge; a Solana wallet just registers. See Wallets & auth for the exact flow.
No rg in PowerShell here — use editor search. Never cd inside deploy commands; use tooling that supports a working directory.
Verify the backend is up
curl http://localhost:3000/api/health