Running The Project
Learn how to run the project locally.
Make sure you have read and followed the instructions on installation before proceeding.
Instructions
Create the .env file
Copy and paste the .env.example file in the root directory and rename it to .env:
cp .env.example .envConfigure the environment variables
The project requires environment variables for each integration.
| Integration | Required Variables | Guide |
|---|---|---|
| Database | DATABASE_URL | Configure |
| Authentication | BETTER_AUTH_URL, BETTER_AUTH_SECRET, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET | Configure |
| Payments | STRIPE_PUBLISHABLE_KEY, STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET | Configure |
RESEND_API_KEY, RESEND_FROM_EMAIL | Configure |
Each guide walks you through creating accounts, obtaining keys, and updating the .env file.
At minimum, configure the Database to run the project — the rest can be set up later.
Start the development servers
Run the following command to start all development servers:
pnpm devSince we use Turborepo with pnpm workspaces, this starts all apps and packages with a dev script:
| Port | Service |
|---|---|
| 3000 | Main SaaS application |
| 3001 | Public website |
| 3333 | Email live server (React Email) |
| 5555 | Database admin panel (Prisma Studio) |
When Stripe is configured, you'll need to run the Stripe CLI webhook listener in a separate terminal.
Follow the instructions in the Payments section.