createdb todos_dbcp server/.env.template server/.envFill in your Postgres credentials. The pg library reads PGHOST, PGPORT, PGUSER, PGPASSWORD, and PGDATABASE from the environment automatically.
cd server && npm install
cd ../frontend && npm installcd server && npm run db:seed# Terminal 1 — Express API on http://localhost:8080
cd server && npm run dev
# Terminal 2 — Vite dev server on http://localhost:5173
cd frontend && npm run devOpen the app at http://localhost:5173, not 8080. The Vite dev server proxies /api/* to Express on port 8080. Because the browser treats both as the same origin, session cookies flow through transparently.