TurboJet

Setup

Clone TurboJet, konfigurasikan env, dan jalankan marketing serta docs secara lokal.

Panduan ini memandu Anda mengkloning proyek, menginstal dependensi, menyiapkan database (opsional), dan menjalankan server development lokal.

Prasyarat

Setup proyek

Clone repositori

git clone <repo-url>
cd nextjs-boilerplate

Tata letak repositori

  • apps/marketing — situs publik, checkout storefront, Hono /api
  • apps/docs — situs dokumentasi ini
  • packages/* — library bersama (auth, database, payments, mail, UI, …)

Tidak ada apps/saas atau apps/mail-preview di checkout ini.

Instal dependensi

pnpm install

Setel variabel lingkungan

Salin file contoh di akar repositori (bukan di dalam app):

cp .env.example .env

Buka .env dan setel nilai yang Anda butuhkan. Script root dan Turbo memuat .env lewat dotenv-cli (bukan .env.local sebagai file utama).

URL lokal tipikal (sesuai port di repo ini):

NEXT_PUBLIC_MARKETING_URL=http://localhost:3000
NEXT_PUBLIC_DOCS_URL=http://localhost:3001
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_SAAS_URL=http://localhost:3000

NEXT_PUBLIC_APP_URL / NEXT_PUBLIC_SAAS_URL masih ada karena paket sisa (@repo/api CORS, @repo/auth trusted origins) membutuhkannya. Arahkan ke origin marketing.

Untuk checkout storefront, setel kunci Mayar dan ID/URL payment link. Untuk email, setel RESEND_KEY dan RESEND_EMAIL_DOMAIN. Tabel lengkap: Environment.

Database (opsional)

Postgres dibutuhkan jika Anda memakai Prisma, alur paket auth, atau modul API sisa. Checkout marketing saja tidak memerlukannya.

pnpm docker:up
pnpm prisma:migrate
pnpm prisma:generate

docker:up juga menjalankan Mailpit (SMTP 1025, UI 8025). Detail: Database.

Storage (opsional)

Setel S3_* untuk Cloudflare R2 atau AWS S3 jika Anda butuh upload. Panduan: Storage.

Jalankan server development

Dari akar repositori:

pnpm dev

Turborepo menjalankan app di checkout ini:

Docs memakai prefix locale: buka http://localhost:3001/en atau /id.

Preview email (proses terpisah):

pnpm --filter @repo/mail dev

Membuka React Email di http://localhost:3003.

Seed user (opsional)

pnpm prisma:seed

Ini meng-upsert email seed dari env (SEED_EMAIL, E2E_USER_EMAIL). Tidak membuat admin. Promosikan role ke ADMIN di Prisma Studio — lihat Admin. Tidak ada script create:user.

Langkah selanjutnya

Di halaman ini