Turborepo monorepo with a React frontend, NestJS backend API, and shared UI library.
git clone <repo-url> && cd orbitpnpm installCopy the example env files and adjust values as needed:
cp .env.example .env
cp apps/api/.env.example apps/api/.env
cp apps/web/.env.example apps/web/.envSpin up PostgreSQL, Redis, RabbitMQ, and RustFS via Docker Compose:
docker compose -f docker-compose-local.yml up -d| Service | Port | UI |
|---|---|---|
| PostgreSQL | 5433 | |
| Redis | 6379 | |
| RabbitMQ | 5672 | http://localhost:15672 |
| RustFS (S3) | 9000 | http://localhost:9001 |
After RustFS is up, create the orbit bucket via the console at http://localhost:9001 (login: rustfsadmin / rustfsadmin).
cd apps/api && npx drizzle-kit migrateFrom the repo root:
pnpm devThis starts all apps in watch mode via Turbo:
| App | URL |
|---|---|
| Web (Vite) | http://localhost:3000 |
| API (NestJS) | http://localhost:8000 |
| Command | Description |
|---|---|
pnpm dev |
Start all apps in watch mode |
pnpm build |
Build all apps and packages |
pnpm check |
Biome check (lint + format) |
pnpm lint |
Biome lint only |
pnpm format |
Biome format only |