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-boilerplateTata letak repositori
apps/marketing— situs publik, checkout storefront, Hono/apiapps/docs— situs dokumentasi inipackages/*— library bersama (auth, database, payments, mail, UI, …)
Tidak ada apps/saas atau apps/mail-preview di checkout ini.
Instal dependensi
pnpm installSetel variabel lingkungan
Salin file contoh di akar repositori (bukan di dalam app):
cp .env.example .envBuka .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:3000NEXT_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:generatedocker: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 devTurborepo menjalankan app di checkout ini:
| Aplikasi | URL |
|---|---|
| Marketing | http://localhost:3000 |
| Docs | http://localhost:3001 |
Docs memakai prefix locale: buka http://localhost:3001/en atau /id.
Preview email (proses terpisah):
pnpm --filter @repo/mail devMembuka React Email di http://localhost:3003.
Seed user (opsional)
pnpm prisma:seedIni 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
- Konfigurasi — feature flag dan knob
- Aplikasi — apa yang dimiliki setiap permukaan
- Pemecahan masalah — isu lokal umum