Skip to Content
Quick start

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 install

This 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.js

It 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_KEY

backend/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 :3001

Connect 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

Next reads