使用 Next.js App Router 与 TypeScript 构建,组件按 app、components、lib、hooks 等目录组织
nextjs-saas-starter-kit — Next.js SaaS模板
作者 rizkraf
基于 Next.js App Router 的 SaaS 启动模板,内置认证、组织管理、仪表盘与 Midtrans 支付集成。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
目前有 1 张原始预览,可打开完整图片查看设计细节。
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
认证基于 Better Auth,支持邮箱密码与 Google OAuth,并通过中间件保护仪表盘路由
组织管理支持创建、切换组织,管理成员与角色,含成员邀请的基础实现
仪表盘含项目 CRUD 示例,数据获取使用 TanStack React Query,带加载状态与乐观更新
计费集成 Midtrans,包含套餐选择、订阅状态、交易历史与 Webhook 处理器
使用 Prisma 操作 PostgreSQL,表单与校验使用 React Hook Form 和 Zod,代码检查使用 Biome
模板详细介绍
这是一个面向 SaaS 产品的开源启动模板,使用 Next.js App Router 与 TypeScript 构建,界面基于 Tailwind CSS 和 shadcn/ui,图标使用 HugeIcons。README 说明其定位是加速 SaaS 应用开发,已包含认证、组织管理、仪表盘和支付等常见模块。
功能层面,认证由 Better Auth 提供,支持邮箱密码登录与 Google OAuth,并通过中间件保护仪表盘路由。组织管理支持创建与切换组织、管理成员与角色,以及成员邀请的基础实现。仪表盘提供响应式侧边栏布局,并含项目 CRUD 示例,数据获取使用 TanStack React Query,带加载状态与乐观更新。计费模块集成 Midtrans,包含套餐选择、订阅状态、交易历史和用于自动更新支付状态的 Webhook 处理器。数据层使用 Prisma,表单与校验分别使用 React Hook Form 和 Zod,代码检查使用 Biome。
使用限制:模板依赖 PostgreSQL 数据库,并需要自行配置 Better Auth、Google OAuth 和 Midtrans 的密钥;Webhook 需在 Midtrans 后台设置通知地址,本地测试建议使用隧道工具。README 未提供部署、性能或生产环境验证的说明,实际使用前应自行核对依赖版本与外部服务条款。
适合你的项目吗?
适用场景
- 需要快速搭建带登录、组织与订阅计费的 SaaS 应用骨架
- 希望参考 Next.js App Router 下认证、仪表盘与支付模块的组织方式
- 面向印尼市场、计划使用 Midtrans 作为支付渠道的项目
- 需要以 PostgreSQL 和 Prisma 为基础的数据模型与迁移起点
适合人群
- 熟悉 Next.js 与 TypeScript、希望减少基础模块搭建工作的开发者
- 需要邮箱密码与 Google OAuth 登录的 SaaS 项目
- 计划接入 Midtrans 并处理订阅与交易记录的团队
- 使用 PostgreSQL 并接受 Prisma 作为 ORM 的项目
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 Node.js 18+ 与 PostgreSQL 数据库,包管理器推荐 Bun,也可使用 npm、yarn 或 pnpm
- 2
复制 .env.example 为 .env,并填写 DATABASE_URL、BETTER_AUTH_SECRET、BETTER_AUTH_URL、GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET 及 Midtrans 密钥
- 3
在 Midtrans 后台将通知地址指向 /api/billing/webhook,本地测试可使用 cloudflared 隧道
- 4
通过 bun run db:start 启动数据库容器,再用 bun run db:push 推送 Prisma schema,可选执行 bun run db:seed 填充初始数据
- 5
运行 bun run dev 启动本地开发服务器,默认访问 http://localhost:3000
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 使用支付功能需在 Midtrans 注册账号并获取 Server Key 与 Client Key,属于外部服务依赖。
- Google OAuth 登录需自行申请并配置 Google 客户端 ID 与密钥,属于外部服务依赖。
- 模板依赖 PostgreSQL 数据库,需自行准备并配置 DATABASE_URL 才能运行。
- 支付状态自动更新需在 Midtrans 后台配置 Webhook 通知地址,本地测试需使用隧道工具。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
Daftar akun di [Midtrans Dashboard](https://dashboard.midtrans.com/).
README 原文
GOOGLE_CLIENT_ID` & `GOOGLE_CLIENT_SECRET
README 原文
Database PostgreSQL
README 原文
https://github.com/rizkraf/nextjs-saas-starter-kit/blob/main/LICENSEhttps://github.com/rizkraf/nextjs-saas-starter-kit/blob/main/README.mdatur **Notification URL** di dashboard Midtrans
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-01。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 92 / 100
- 技术栈
- Next.js · React
- 网站类型
- SaaS · 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-05-12
- 截图检查日期
- 2026-10-01
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: 53832e6546790c25706b0838a5ea03094055d97143916903e47dd49c07555b9d
2026-10-01T01:22:40.820Z
来源文件 / 仓库# Next.js SaaS Starter Kit Indonesia
Boilerplate SaaS lengkap dan siap produksi yang dibangun dengan teknologi modern. Dibuat untuk mempercepat proses development aplikasi SaaS Anda dengan fitur-fitur utama seperti autentikasi, manajemen organisasi, sistem pembayaran, dan tampilan dashboard yang modern.

## 🚀 Tech Stack
- **Framework:** [Next.js 15](https://nextjs.org/) (App Router)
- **Bahasa:** [TypeScript](https://www.typescriptlang.org/)
- **Styling:** [Tailwind CSS](https://tailwindcss.com/)
- **UI Components:** [shadcn/ui](https://ui.shadcn.com/)
- **Icons:** [HugeIcons](https://hugeicons.com/)
- **Autentikasi:** [Better Auth](https://www.better-auth.com/)
- **ORM:** [Prisma](https://www.prisma.io/)
- **Data Fetching:** [TanStack React Query](https://tanstack.com/query/latest)
- **Pembayaran:** [Midtrans](https://midtrans.com/) (Sudah terintegrasi)
- **Validasi:** [Zod](https://zod.dev/)
- **Forms:** [React Hook Form](https://react-hook-form.com/)
## ✨ Fitur Utama
- **🔐 Sistem Autentikasi**
- Login via Email/Password & Google OAuth
- Proteksi route dashboard menggunakan Middleware
- Manajemen sesi pengguna via Better Auth
- **🏢 Manajemen Organisasi**
- Membuat dan berpindah antar organisasi dengan mudah
- Kelola anggota tim dan hak akses (role)
- Sistem undangan member (siap dikembangkan lebih lanjut)
- **📊 Modern Dashboard**
- Layout Sidebar yang responsif
- Manajemen proyek dengan fitur CRUD lengkap (Create, Read, Update, Delete)
- UI interaktif dengan loading state dan optimistic updates menggunakan React Query
- **💳 Billing & Subscription**
- Integrasi pembayaran menggunakan Midtrans
- Manajemen langganan (Pilihan Paket, Status Langganan)
- Riwayat transaksi lengkap
- Webhook handler untuk update status pembayaran otomatis
- **🛠️ Developer Experience**
- Full Type-safe
- Konfigurasi Biome yang rapi untuk linting kode
- Arsitektur komponen yang modular dan mudah dikembangkan
## 📦 Panduan Awal
### Persyaratan Sistem
- Node.js (v18+)
- Bun (Rekomendasi) atau npm/yarn/pnpm
- Database PostgreSQL
### Instalasi
1. **Clone repository**
```bash
git clone https://github.com/rizkraf/nextjs-saas-starter-kit.git
cd nextjs-saas-starter-kit
```
2. **Install dependencies**
```bash
bun install
```
3. **Konfigurasi Environment**
Salin file contoh environment dan sesuaikan dengan key Anda:
```bash
cp .env.example .env
```
Isi variabel environment berikut:
- `DATABASE_URL`
- `BETTER_AUTH_SECRET` & `BETTER_AUTH_URL`
- `GOOGLE_CLIENT_ID` & `GOOGLE_CLIENT_SECRET`
- `MIDTRANS_SERVER_KEY`, `MIDTRANS_CLIENT_KEY`
4. **Konfigurasi Midtrans (Pembayaran)**
- Daftar akun di [Midtrans Dashboard](https://dashboard.midtrans.com/).
- Ambil **Server Key** dan **Client Key** dari menu `Settings > Access Keys`.
- Update `.env`:
```env
MIDTRANS_SERVER_KEY=...
MIDTRANS_CLIENT_KEY=...
MIDTRANS_IS_PRODUCTION=false # Set true untuk mode produksi
```
- **Setup Webhook (Penting):**
Agar status pembayaran terupdate otomatis, atur **Notification URL** di dashboard Midtrans ke:
`https://domain-anda.com/api/billing/webhook`
_(Gunakan Cloudflare Tunnel untuk testing lokal)_
```bash
npx cloudflared tunnel --url http://localhost:3000
```
5. **Setup Database**
Pastikan Docker sudah berjalan, lalu jalankan perintah berikut untuk memulai container database:
```bash
bun run db:start
```
Setelah database berjalan, push schema Prisma:
```bash
bun run db:push
```
(Opsional) Isi database dengan data awal (seeding):
```bash
bun run db:seed
```
6. **Jalankan Project**
Jalankan server development lokal:
```bash
bun run dev
```
Buka [http://localhost:3000](http://localhost:3000) untuk melihat hasilnya.
## 🗂️ Struktur Folder
```
src/
├── app/ # Halaman Next.js App Router & API Routes
│ ├── (auth)/ # Halaman Autentikasi (Sign in, Sign up)
│ ├── (dashboard)/ # Halaman Dashboard (Perlu login)
│ └── api/ # Backend API Endpoints
├── components/ # UI Components reusable
│ ├── ui/ # Komponen dasar shadcn/ui
│ ├── dashboard/ # Komponen khusus Dashboard
│ └── landing/ # Komponen Landing Page
├── lib/ # Utilities, auth client, query client
├── hooks/ # Custom React Hooks
└── wrapper/ # Providers (QueryProvider, dll.)
```
## 📜 Lisensi
Didistribusikan di bawah Lisensi MIT. Lihat file `LICENSE` untuk informasi lebih lanjut.
## 🤝 Kontribusi
Kontribusi sangat terbuka! Jangan ragu untuk membuat Pull Request.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

ai-website-cloner-template
Clone any website with one command using AI coding agents
Next.js · 启动器

Next.js SaaS Starter
Next.js SaaS Starter 是 Next.js 官方维护的 SaaS 起点模板,定位介于学习资源和可直接部署的脚手架之间。
Next.js · SaaS

Next.js Commerce
Next.js Commerce 是 Vercel 团队维护的电商启动模板,基于 Next.js App Router 构建,采用服务端渲染、React Server Components、Server Actions …
Next.js · 电商

Next-js-Boilerplate
Next-js-Boilerplate 是一个面向 Next.js 16、Tailwind CSS 4 和 TypeScript 的启动器,核心定位是开发者体验优先。
Next.js · 启动器

tailwind-nextjs-starter-blog
tailwind-nextjs-starter-blog 是一个面向个人技术博客的 Next.js 与 Tailwind CSS 启动模板,其 v2 版本基于 App Router 与 React Server Comp…
Next.js · 博客

next-forge
Production-grade Turborepo template for Next.js apps.
Next.js · 启动器
