Running the Project

Starting both servers and verifying the setup

Note

Both servers must be running at the same time. Keep two terminal windows open — one for pos-backend and one for pos-frontend.

Start the Backend Server

In the pos-backend terminal, run:

bash

The server is ready when you see this output:

json

The API is live at: http://localhost:5000

Start the Frontend Server

In the pos-frontend terminal, run:

bash

Ready when you see:

The app is live at: http://localhost:3000

Verification Checklist

CheckExpected Result
Open http://localhost:3000 in browserPosVelo login page appears
Log in with Super Admin credentialsRedirect to the admin dashboard
Navigate to ProductsDemo products appear (from seed data)
Open http://localhost:5000/api/healthJSON health response

All Backend npm Scripts

ScriptDescription
npm run devStart backend in development mode with hot-reload (tsx watch)
npm run buildCompile TypeScript to JavaScript (outputs to dist/)
npm run startRun the compiled production build from dist/server.js
npm run db:generateRegenerate Prisma client after any schema change
npm run db:migrateCreate and apply a new migration — prompts for a name (dev only)
npm run db:migrate:prodApply pending migrations without prompts — use in production
npm run db:seedInsert demo products, customers, and a sample tenant
npm run db:seed:super-adminCreate the platform-level Super Admin account
npm run db:studioLaunch visual database browser at http://localhost:5555
npm run db:reset⚠️ DANGER — Wipes the entire database and re-runs all migrations
npm run testRun the Vitest test suite once and exit
npm run test:watchRun tests in interactive watch mode
npm run typecheckValidate TypeScript types without emitting output files
npm run lintRun ESLint across the entire src/ directory