API(root project): job orchestration backend (queue/invoke/sync, workers, DB writes), runs onhttp://localhost:3000.Web(./web): control-plane UI for functions/runs/dashboards.Playground(./playground): demo SvelteKit app that registers functions and invokes jobs against the API.
- Install dependencies:
bun run install:all- Create env files:
bun run env:generateIf the script does not work in your environment, do it manually:
- Root: copy
/Users/akcodeworks/dev/orca/example.envto.env - Web: copy
/Users/akcodeworks/dev/orca/web/example.envtoweb/.env - Playground: copy
/Users/akcodeworks/dev/orca/playground/example.envtoplayground/.env
- Start Postgres (root):
docker compose up -d- Initialize database schema/client:
bun run db:init- Root
.envDATABASE_URL: postgres connection string for Prisma/API.ORCA_TOKEN: bearer token required by API auth routes.ORCA_APP_URL: upstream app endpoint for sync/invoke (playground API route).ORCA_WEB_URL: web URL reference (currently informational, will be used in the future to validate incoming API requests).
- Web
.envORCA_API_BASE_URL: Orca API base URL (usuallyhttp://localhost:3000).ORCA_API_TOKEN: bearer token for API auth (must matchORCA_TOKEN).
- Playground
.envORCA_API_URL: Orca API URL used by OrcaClient (usuallyhttp://localhost:3000).ORCA_TOKEN: bearer token for OrcaClient (must matchORCA_TOKEN).
Use separate terminals:
- API (root):
bun run dev- Web:
bun run dev:web- Playground:
bun run dev:playgroundThen open:
- API:
http://localhost:3000(If using a tool like Postman or Insomnia, use this URL for API requests and use Bearer auth with theORCA_TOKENvalue.) - Web:
http://localhost:5174 - Playground:
http://localhost:5173