Next.jsReactSaaS启动器

nextjs-saas-starter-kit — Next.js SaaS模板

作者 rizkraf

基于 Next.js App Router 的 SaaS 启动模板,内置认证、组织管理、仪表盘与 Midtrans 支付集成。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

1 个预览视图
作者提供的预览
作者提供的预览

来自项目 README 的原始预览。

目前有 1 张原始预览,可打开完整图片查看设计细节。

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-01查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

使用 Next.js App Router 与 TypeScript 构建,组件按 app、components、lib、hooks 等目录组织

02

认证基于 Better Auth,支持邮箱密码与 Google OAuth,并通过中间件保护仪表盘路由

03

组织管理支持创建、切换组织,管理成员与角色,含成员邀请的基础实现

04

仪表盘含项目 CRUD 示例,数据获取使用 TanStack React Query,带加载状态与乐观更新

05

计费集成 Midtrans,包含套餐选择、订阅状态、交易历史与 Webhook 处理器

06

使用 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 未提供部署、性能或生产环境验证的说明,实际使用前应自行核对依赖版本与外部服务条款。

Next.jsSaaS启动器

适合你的项目吗?

适用场景

  • 需要快速搭建带登录、组织与订阅计费的 SaaS 应用骨架
  • 希望参考 Next.js App Router 下认证、仪表盘与支付模块的组织方式
  • 面向印尼市场、计划使用 Midtrans 作为支付渠道的项目
  • 需要以 PostgreSQL 和 Prisma 为基础的数据模型与迁移起点

适合人群

  • 熟悉 Next.js 与 TypeScript、希望减少基础模块搭建工作的开发者
  • 需要邮箱密码与 Google OAuth 登录的 SaaS 项目
  • 计划接入 Midtrans 并处理订阅与交易记录的团队
  • 使用 PostgreSQL 并接受 Prisma 作为 ORM 的项目

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 Node.js 18+ 与 PostgreSQL 数据库,包管理器推荐 Bun,也可使用 npm、yarn 或 pnpm

  2. 2

    复制 .env.example 为 .env,并填写 DATABASE_URL、BETTER_AUTH_SECRET、BETTER_AUTH_URL、GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET 及 Midtrans 密钥

  3. 3

    在 Midtrans 后台将通知地址指向 /api/billing/webhook,本地测试可使用 cloudflared 隧道

  4. 4

    通过 bun run db:start 启动数据库容器,再用 bun run db:push 推送 Prisma schema,可选执行 bun run db:seed 填充初始数据

  5. 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 原文

atur **Notification URL** di dashboard Midtrans

README 原文
https://github.com/rizkraf/nextjs-saas-starter-kit/blob/main/LICENSEhttps://github.com/rizkraf/nextjs-saas-starter-kit/blob/main/README.md

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.

![Pratinjau Dashboard](/public/dashboard-preview.png)

## 🚀 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.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。