登入

快速上手

克隆模板、配置環境變數,幾分鐘內在本地跑通全棧。

zmlkit 是一套全棧 AI SaaS 模板:一個 Next.js Web 應用(營銷站、使用者後臺、管理後臺與全部 API)加一個 Expo 移動端,共享同一個後端,內建多 App 隔離。本文帶你從乾淨的 checkout 跑到本地可用。

前置要求

  • Node.js 20+ 與 pnpm 9+
  • 一個數據庫——推薦 Docker Postgres,或者什麼都不裝,用 SQLite dev 模式
  • 可選:手機裝 Expo Go(如需執行移動端)

Docker 快速啟動

在乾淨的 checkout 下,確保 Docker 已執行:

pnpm install
cp docs/env/web.env.example web/.env.local
# 編輯 web/.env.local:設定 AUTH_SECRET(openssl rand -base64 32)

docker compose up -d postgres
pnpm --filter web db:generate
pnpm --filter web db:migrate
pnpm --filter web db:seed        # 許可權 / 角色 / App / 超管
pnpm --filter web db:seed:demo   # 可選:演示內容 + 示例 AI 歷史
pnpm --filter web dev            # http://localhost:3000

用種子演示賬號 demo@test.com / supersecret1 登入。管理後臺在 /admin。

無 Docker 快速啟動(SQLite dev 模式)

不需要 Docker 也不需要資料庫服務——本地檔案 web/dev.db 就是資料庫。此模式僅用於本地開發/試用,生產請用 Postgres 或 MySQL。

在 web/.env.local 中設定:

DATABASE_PROVIDER=sqlite
DATABASE_URL=file:./dev.db

然後執行與上面相同的 db:generate / db:migrate / db:seed / dev 命令。要重置資料庫,刪除 web/dev.db 後重跑 migrate + seed。

開箱即得

  • 營銷站:locale 路徑路由(12 種語言)、JSON 驅動的落地頁 block、部落格、文件與 SEO 落地頁
  • 認證:郵箱密碼(Argon2id)、OAuth(Google/GitHub)、雜湊會話、App 繫結令牌
  • AI:流式對話(SSE)與圖/影片/音訊生成,統一 provider 抽象,積分 hold → confirm/refund 全鏈路
  • 計費:Stripe + Waffo Pancake 網頁結賬、RevenueCat 移動端內購,統一歸一化的 webhook 管線
  • 管理後臺:使用者、訂單、積分、AI 歷史、內容 CMS、反饋、審計日誌
  • 移動端:連線同一後端的 Expo 客戶端

下一步

  • 配置 —— 所有配置都是環境變數,瞭解約定。
  • 部署 —— Vercel、Docker 或 Cloudflare Workers。
  • 二次開發 —— 品牌化、加頁面、加 provider、加 App。