Next.jsReact后台启动器

next-dashboard-starter — Next.js 后台模板

作者 AbrarAhmed111

基于 Next.js App Router 与 TypeScript 的开源仪表盘模板,集成 Tailwind CSS、Redux Toolkit 和 Supabase,提供响应式后台外壳、通用页面与认证流程。

看看你的网站会是什么样

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

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

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

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

值得关注的模板亮点

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

01

响应式 App Router 仪表盘外壳,含固定侧边栏与可滚动内容区

02

头部角色/视图切换、通知、个人资料菜单及可复用模态框、下拉菜单、表格组件

03

提供 Overview、Insights、Users、Content、Profile 和带标签页的 Settings 等通用页面

04

认证页面采用响应式分屏布局

05

集成 Supabase:SSR 安全客户端、会话刷新中间件、getCurrentUser 与 requireAuth 服务端辅助函数

06

使用 Tailwind CSS、Redux Toolkit,并配置 ESLint、Prettier 与 Jest

模板详细介绍

该模板是一个 Next.js(App Router)仪表盘起始项目,使用 TypeScript、Tailwind CSS、Redux Toolkit,并集成 Supabase。README 说明其包含响应式仪表盘外壳:固定侧边栏与可滚动内容区,以及头部角色/视图切换、通知、个人资料菜单和可复用的模态框、下拉菜单、表格组件。页面方面提供通用的 Overview、Insights、Users、Content、Profile 和带标签页的 Settings 界面,以及采用响应式分屏布局的认证页面。分析视图基于 Recharts 构建,使用模拟数据,README 称其可接入真实数据。Supabase 集成包括服务端与浏览器端 SSR 安全客户端、刷新会话并拦截路由的中间件,以及 getCurrentUser、requireAuth 等服务端认证辅助函数。README 还提供环境变量、Supabase 用法、中间件说明、本地运行脚本和 Vercel 部署步骤。模板以 MIT 许可证发布。README 未说明具体性能表现、生产就绪程度或除 Supabase 外的数据源支持情况。

Next.js后台启动器

适合你的项目吗?

适用场景

  • 作为后台管理界面的起始代码,在此基础上开发具体业务页面
  • 需要 Supabase 认证与路由拦截的 Next.js 项目
  • 使用 Redux Toolkit 管理状态的仪表盘应用
  • 需要响应式侧边栏、头部菜单和通用表格/模态框组件的管理后台

适合人群

  • 熟悉 Next.js App Router 与 TypeScript 的开发者
  • 计划使用 Supabase 作为认证与数据服务的项目
  • 希望基于现成后台外壳快速开始内部工具或管理面板的团队

上手与定制指南

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

  1. 1

    在项目根目录创建 .env.local,并设置 NEXT_PUBLIC_SUPABASE_URL 与 NEXT_PUBLIC_SUPABASE_ANON_KEY

  2. 2

    运行 npm install 安装依赖,然后 npm run dev 启动开发服务器,默认访问 http://localhost:3000

  3. 3

    部署到 Vercel 时需在项目设置中添加上述两个环境变量

  4. 4

    README 提到若要在中间件中使用维护模式,需在 Vercel 单独配置 Edge Config 并添加相应令牌

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 使用 Supabase 集成需要自行提供 Supabase 项目并配置 NEXT_PUBLIC_SUPABASE_URL 环境变量。
  • 使用 Supabase 集成需要自行提供 Supabase 项目并配置 NEXT_PUBLIC_SUPABASE_ANON_KEY 环境变量。
  • 若要在中间件中使用维护模式,需在 Vercel 单独配置 Edge Config 并添加相应令牌。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

NEXT_PUBLIC_SUPABASE_URL=your_supabase_url

README 原文

NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

README 原文

# Configure Edge Config separately in Vercel and add its token to your env if needed

README 原文
https://github.com/AbrarAhmed111/next-dashboard-starter/blob/main/LICENSEhttps://github.com/AbrarAhmed111/next-dashboard-starter/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-15。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 88 / 100
技术栈
Next.js · React
网站类型
后台 · 启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-09-04
截图检查日期
2026-10-15

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15

查看当时使用的来源资料

SHA-256: 4cc43bc9af00bccce50db93c0540b7bdc5c3aaf654152a71b4123073d7301b9f

2026-10-15T05:03:05.212Z

来源文件 / 仓库
# Dashboard Template

An open-source Next.js dashboard starter by [Abrar Ahmed](https://github.com/abrarahmed111). You are welcome to use it, improve it, and contribute back.

## What is included

- Responsive App Router dashboard shell with fixed sidebar and scrollable content area
- Header role/view switcher, notifications, profile menu, and reusable modal/dropdown/table components
- Generic Overview, Insights, Users, Content, Profile, and tabbed Settings screens
- Authentication pages with responsive split-screen layout
- Recharts-based mock analytics views ready to connect to real data

A modern Next.js (App Router) template with TypeScript, Tailwind CSS, Redux Toolkit, and first-class Supabase integration (SSR-safe clients, auth middleware, and helpers).

This README documents only the template. Any auxiliary folders (e.g. `nizam-web`) are not part of this template and can be ignored.

## 🚀 Features

- **Next.js 15** (App Router) + **TypeScript**
- **Supabase** integration:
  - SSR-safe clients for server and browser
  - Middleware to refresh sessions and gate routes
  - Server auth helpers (`getCurrentUser`, `requireAuth`)
- **Tailwind CSS** styling
- **Redux Toolkit** state management
- **ESLint + Prettier + Jest** for quality

## 📦 Directory Structure

```
src/
├── app/                          # Next.js App Router
│   ├── error.tsx
│   ├── layout.tsx
│   ├── not-found.tsx
│   └── page.tsx
├── assets/
│   └── css/
│       └── globals.css
├── components/
│   └── guards/
│       └── AuthGate.tsx          # Client-side auth gate (optional)
├── lib/
│   ├── auth/
│   │   ├── index.ts              # getCurrentUser / requireAuth
│   │   └── signout.ts            # clientSignout
│   └── supabase/
│       ├── client.ts             # Browser client
│       ├── server.ts             # Server client (SSR cookies)
│       └── middleware.ts         # Routing + session refresh
├── middleware.ts                 # App middleware -> uses supabase/middleware
├── store/                        # Redux Toolkit store and providers
└── utils/                        # Utilities (e.g., axios config)
```

## 🔐 Environment Variables

Create `.env.local` in the project root:

```env
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
```

Optional (only if you plan to use maintenance mode in middleware):

```env
# Configure Edge Config separately in Vercel and add its token to your env if needed
```

## 🧰 Supabase Usage

- Server components or server actions:

```ts
import { createClient } from '@/lib/supabase/server'

export async function getData() {
  const supabase = await createClient()
  const { data } = await supabase.from('users').select('*')
  return data
}
```

- Client components:

```ts
import { createClient } from '@/lib/supabase/client'

export function MyClientComponent() {
  const supabase = createClient()
  // use supabase on the client
  return null
}
```

- Protect server routes (layouts/pages):

```ts
import { requireAuth } from '@/lib/auth'

export default async function ProtectedLayout({ children }) {
  await requireAuth()
  return <>{children}</>
}
```

- Optional client-side protection:

```tsx
import { AuthGate } from '@/components/guards/AuthGate'

export default function Page() {
  return (
    <AuthGate>
      <div>Protected content</div>
    </AuthGate>
  )
}
```

## 🔒 Middleware

- `src/middleware.ts` delegates to `src/lib/supabase/middleware.ts` to:
  - Keep Supabase sessions fresh
  - Redirect unauthenticated users to sign-in/welcome
  - Optionally support admin subdomain and maintenance mode (if configured)

No configuration is required beyond Supabase env vars for basic auth gating.

## ▶️ Getting Started

```bash
npm install
npm run dev
# visit http://localhost:3000
```

## 📜 Scripts

- `npm run dev` – Start development server
- `npm run build` – Build for production
- `npm run start` – Start production server
- `npm run lint` – Lint with ESLint
- `npm run format` – Format with Prettier
- `npm run test` – Run tests

## 🚀 Deploy

Deploy to Vercel:
1. Push to a Git repository
2. Import the project in Vercel
3. Add env vars (`NEXT_PUBLIC_SUPABASE_URL`, `NEXT_PUBLIC_SUPABASE_ANON_KEY`)
4. Deploy

## 📄 License

This project is available under the [MIT License](./LICENSE).

## Contributing

1. Fork the repository.
2. Create a feature branch.
3. Run `npm install` and `npm run build` locally.
4. Open a pull request with a clear description of the change.
反馈内容错误

看看同类模板

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