ドキュメント
StartFast Pro
StartFast Pro は、認証、決済、チーム、i18n、アナリティクス、ブログ、クリーンな UI システムを備えたプレミアムな本番環境対応の Next.js 15 ボイラープレートです。
このドキュメントで、素早く開始し、SaaS 製品に合わせて StartFast Pro をカスタマイズできます。
含まれるもの
- •Next.js 15 App Router(React 19 とサーバーコンポーネント付き)
- •Better Auth 認証(メール、Google、GitHub OAuth)
- •PostgreSQL データベース(Drizzle ORM)
- •Stripe 決済(サブスクリプションと Webhooks)
- •Resend によるメール配信
- •next-intl による国際化(7言語)
- •チームと RBAC(組織、ロール、権限)
- •PostHog アナリティクス統合
- •ブログシステム(Markdown、SEO、読了時間)
- •管理ダッシュボード(ユーザー、注文、アナリティクス、コンテンツ)
- •Playwright E2E テスト
- •TypeScript エンドツーエンド型安全性
クイックスタート
git clone https://github.com/Harries/startfast-pro.git my-saascd my-saas && npm installcp .env.example .env.localnpm run db:pushnpm run devhttp://localhost:3000 を開く
環境変数
.env.example を .env.local にコピーして設定:
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_APP_NAME=StartFast Pro
# Database (Postgres)
DATABASE_URL=postgresql://username:password@localhost:5432/startfast_pro
# Authentication (Better-Auth)
BETTER_AUTH_SECRET=your-secret-key-at-least-32-characters
BETTER_AUTH_URL=http://localhost:3000
# Email (Resend)
RESEND_API_KEY=re_xxxxx
EMAIL_FROM=onboarding@yourdomain.com
# Stripe
STRIPE_SECRET_KEY=sk_test_xxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxx
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_xxxxx
# Optional: Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Optional: GitHub OAuth
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# Analytics (PostHog)
NEXT_PUBLIC_POSTHOG_KEY=
NEXT_PUBLIC_POSTHOG_HOST=https://app.posthog.com
# Default Locale
NEXT_PUBLIC_DEFAULT_LOCALE=enデータベースセットアップ
StartFast Pro は PostgreSQL と Drizzle ORM を使用します。サーバーレス PostgreSQL には Neon をお勧めします。
- 1.PostgreSQL データベースを作成(ローカルまたは Neon)
- 2..env.local に DATABASE_URL を設定
- 3.npm run db:push でスキーマをデータベースにプッシュ
- 4.npm run db:studio で Drizzle Studio を使ってデータを表示/編集
- 5.npm run db:generate でマイグレーションを生成
Schema: データベーススキーマは src/db/schema.ts で Drizzle の TypeScript ファーストアプローチで定義されています。DB クライアントは src/db/index.ts からエクスポートされます。
認証
StartFast Pro は Better Auth と Drizzle アダプターを使用して認証を行います。メール/パスワードとソーシャル OAuth をサポート。
- 1.BETTER_AUTH_SECRET を設定(32文字以上)
- 2.BETTER_AUTH_URL をアプリの URL に設定
- 3.(オプション)Google OAuth を設定:GOOGLE_CLIENT_ID と GOOGLE_CLIENT_SECRET
- 4.(オプション)GitHub OAuth を設定:GITHUB_CLIENT_ID と GITHUB_CLIENT_SECRET
Tip: 認証設定は src/lib/auth.ts(サーバー)と src/lib/auth-client.ts(クライアント)にあります。セッションはデフォルトで7日後に期限切れ。
Stripe 決済
StartFast Pro は Stripe サブスクリプションと Webhook 処理をサポートします。
- 1.Stripe Dashboard → API Keys から API キーを取得
- 2.STRIPE_SECRET_KEY、NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY を設定
- 3.https://your-domain.com/api/webhook/stripe に Webhook エンドポイントを作成
- 4.Webhook 署名シークレットを STRIPE_WEBHOOK_SECRET にコピー
Tip: ローカルテストには stripe listen --forward-to localhost:3000/api/webhook/stripe を使用
メール設定
StartFast Pro はトランザクションメールに Resend を使用します。
- 1.Resend アカウントを作成
- 2.API キーを取得して RESEND_API_KEY を設定
- 3.EMAIL_FROM を認証済みの送信者アドレスに設定
RESEND_API_KEY=re_xxxxx
EMAIL_FROM=onboarding@yourdomain.com国際化
StartFast Pro は next-intl による多言語サポートを含み、7つの言語が組み込まれています。
- • 英語 (en)
- • 中国語 (zh)
- • 日本語 (ja)
- • 韓国語 (ko)
- • ドイツ語 (de)
- • フランス語 (fr)
- • スペイン語 (es)
翻訳ファイルは src/i18n/messages/ にあります。デフォルトロケールの設定:
NEXT_PUBLIC_DEFAULT_LOCALE=enアナリティクス
StartFast Pro は PostHog と統合してプロダクトアナリティクスを提供します。サインアップ、サブスクリプション、チームアクションなどのイベントトラッカーが含まれています。
- 1.PostHog アカウントを作成
- 2.NEXT_PUBLIC_POSTHOG_KEY と NEXT_PUBLIC_POSTHOG_HOST を設定
Tip: アナリティクスヘルパーは src/lib/analytics.ts にあります。analytics.signUp()、analytics.subscriptionStarted() などを使用。
チームとロール
StartFast Pro には完全な組織とロールベースのアクセス制御(RBAC)システムが含まれています。
ロール
- • オーナー — 完全なアクセス権。所有権を譲渡可能。
- • 管理者 — メンバー、設定、ほとんどのリソースを管理。
- • メンバー — コンテンツの作成と編集。設定アクセスは制限付き。
- • ビューアー — 読み取り専用アクセス。
Tip: 権限は src/lib/permissions.ts で定義されています。hasPermission(role, permission) でアクセスを確認。
デプロイ
数分で Vercel にデプロイ:
- 1.コードを GitHub にプッシュ
- 2.Vercel でリポジトリをインポート
- 3.すべての環境変数を追加
- 4.デプロイ!
Important: デプロイ後、Stripe Webhook URL を本番ドメインに更新してください。
サポート
お困りですか?お問い合わせください:
- • Email: support@startfast.dev
- • GitHub: @Harries
- • Twitter: @HarriesSteele