Skip to main content

Workspaces and commands

The monorepo keeps the mobile app and dashboard in separate npm workspaces under apps/*. The root lockfile installs both; each application owns its runtime and dependencies.

Repository map​

PathResponsibilitySource
apps/mobileExpo and React Native patient experienceMobile workspace
apps/dashboardReact and Vite clinician dashboardDashboard workspace
package.jsonRoot workspaces and combined commandsRoot package.json
turbo.jsonDev, check, and build task behaviorTurborepo config

There is no shared UI package in the root. Keep native and browser-specific code in the app that owns it; the apps use Ovok as their shared backend.

Commands from the repository root​

CommandPurpose
npm run devStart both development servers.
npm run mobileStart the Expo development server.
npm run dashboardStart the Vite dashboard.
npm run ios / npm run androidBuild and launch the mobile app on the selected platform.
npm run typecheckType-check both workspaces.
npm testRun tests in the workspaces.
npm run buildBuild the dashboard and export the mobile JavaScript bundle.
npm run checkRun type checks, tests, Expo dependency validation, and builds.

Turborepo defines these tasks in turbo.json. See the per-app guides for their environment and sandbox requirements.