Project Structure

Project Structure

LaunchApp.dev is organized as a pnpm workspace managed with Turborepo. The root directory contains several top‑level folders that separate deployable apps from shared packages and tooling.

Root Folders

  • apps/ — deployable applications
    • web/ — the main web app built with Vite and React Router
    • native/ — Expo based React Native app
    • Marketing pages live inside the web/ app (no separate landing/ directory)
  • packages/ — reusable libraries and services
    • api/ — Hono API server and typed client
    • api-hooks/ — generated React Query hooks
    • auth/ — authentication utilities
    • config/ — shared configuration files
    • database/ — Drizzle ORM schema and helpers
    • email/ — email templates and sending logic
    • i18n/ — translation setup
    • payments/ — payment integrations
    • push-notifications/ — cross-platform push helpers
    • storage/ — S3/local storage utilities
    • typescript-config/ — base TypeScript configs
  • tooling/ — custom scripts and utilities
  • local/ — Docker compose files for local databases and services
  • scripts/ — helper scripts for CI and local tasks
  • tasks/ — planning docs and requirements

Configuration files like turbo.json, pnpm-workspace.yaml and the root package.json define the workspace settings, tasks and dependencies for the entire monorepo.