文档
StartFast Pro
StartFast Pro 是一个高级的、生产就绪的 Next.js 15 样板工程,包含认证、支付、团队、国际化、分析、博客和整洁的 UI 系统 — 全部预配置完成。
本文档将帮助你快速上手并为你的 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 端到端测试
- •TypeScript 端到端类型安全
快速开始
git clone https://github.com/Harries/startfast-pro.git my-saascd my-saas && npm installcp .env.example .env.localnpm run db:pushnpm run dev打开 http://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。我们推荐使用 Neon 作为无服务器 PostgreSQL。
- 1.创建 PostgreSQL 数据库(本地或 Neon)
- 2.在 .env.local 中设置 DATABASE_URL
- 3.运行 npm run db:push 将 schema 推送到数据库
- 4.使用 npm run db:studio 通过 Drizzle Studio 查看/编辑数据
- 5.使用 npm run db:generate 生成迁移文件
Schema: 数据库 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