Skip to main content

Developer Onboarding

Last reviewed: 2026-04-21
Maintained by: Engineering

This guide is for first-day setup. All commands are copy-paste ready.

1. Prerequisites

Required:

  • Node.js 20+
  • Docker
  • Git

Check:

node -v
docker --version
git --version

Enable pnpm via Corepack:

corepack prepare pnpm@9.15.9 --activate
pnpm -v

2. Clone + Install

git clone <REPO_URL>
cd zgrid-app
pnpm install

3. Environment Setup

cp .env.example .env

Verify .env contains local defaults (especially DB on port 5433).

4. Start Database + Apply Schema

docker compose up -d postgres
pnpm run db:migrate
pnpm run seed:demo

Optional schema drift check:

pnpm run db:schema:check

If drift is expected after intentional migration changes:

pnpm run db:schema:sync

5. Start Applications

Run each command in a separate terminal.

Terminal 1 (API):

pnpm run dev:api

Terminal 2 (Manager Desk):

pnpm run dev:manager-desk

Terminal 3 (Back Office):

pnpm run dev:back-office

Terminal 4 (Mobile):

EXPO_PUBLIC_API_URL=http://127.0.0.1:3000/api pnpm run dev:zgrid-mobile

6. Sanity Verification

Open:

  • API health route: http://localhost:3000/api/health
  • Manager Desk: http://localhost:3001
  • Back Office: http://localhost:3002

Run checks:

pnpm run check:api
pnpm run check:manager-desk
pnpm run check:back-office
pnpm run check:zgrid-mobile

Run tests:

pnpm test

7. Typical Daily Flow

pnpm run dev:api
pnpm run dev:manager-desk

Before opening PR:

pnpm run lint
pnpm run check:api
pnpm run check:manager-desk
pnpm run check:back-office
pnpm run check:zgrid-mobile
pnpm test

If DB changed:

pnpm run db:migrate
pnpm run db:schema:check

8. Where to Go Next