Skip to main content
This guide focuses on getting the API and database running locally. You do not need to configure integrations to boot the backend.

Prerequisites

If you are new to the codebase, complete the Prerequisites first, then follow Project Setup.

Steps

1. Set Up Database

2. Configure Environment

cd apps/api
cp example.env .env
For quickstart, only DATABASE_URL is required to boot the API. Most integrations (auth, payments, SMS, AI, uploads) can stay unset until you enable them in their respective guides. When you do enable auth, set BETTER_AUTH_SECRET to a secure value (32+ chars). You can generate one with:
openssl rand -base64 32
If you changed the database name in Docker, update DATABASE_URL in .env to match.

3. Run Migrations

cd apps/api
pnpm db:migrate
pnpm db:generate
If you see a “Cannot find module ’../generated/client’” error, run pnpm db:generate to create the Prisma client.

4. Start the Backend

cd apps/api
pnpm dev
You should see:
[INFO] Database connected successfully
[INFO] Database connection info
[INFO] API Server started on http://localhost:3001
[INFO] tRPC endpoint: http://localhost:3001/trpc
[INFO] Health check: http://localhost:3001/health
[INFO] Server Environment
  Env: development
  Host: localhost
The mobile app needs the API and database running to work end-to-end. If the backend is not running, sign-in and data fetches will fail.

Next Steps