快速上手
克隆模板、配置環境變數,幾分鐘內在本地跑通全棧。
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 客戶端