Next.jsReact后台SaaS

thinboard — Next.js 后台模板

作者 claretnnamocha

Thinboard 是一个基于 Next.js 15 App Router 的开源管理后台模板,提供可折叠侧边栏、主题切换、shadcn/ui 组件库以及示例页面,不包含真实认证、数据库和 API 层。

看看你的网站会是什么样

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

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

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

全部页面与视图 2

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

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

值得关注的模板亮点

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

01

基于 Next.js 15 App Router 和严格 TypeScript

02

使用 shadcn/ui、Tailwind CSS 和 CSS 变量主题

03

支持浅色、深色和跟随系统主题(next-themes)

04

提供可折叠侧边栏和移动端抽屉布局

05

包含数据表格示例,支持搜索、排序和分页(客户端演示)

06

提供 /ui-kit 组件展示页面

模板详细介绍

Thinboard 是一个面向 Next.js 的管理后台模板,定位为可复用的外壳,用于内部工具、SaaS 管理面板或 CRUD 类后台界面。它提供布局、设计令牌、UI 基础组件和示例页面,但刻意保持轻量,不包含真实认证、数据库或 API 层,需要使用者按项目自行接入。

模板内置可折叠侧边栏、页头、页面脚手架和明暗主题切换;UI 组件基于 shadcn/ui,包含按钮、输入框、表格、对话框、提示等。示例页面包括带图表的概览页、用户列表和设置表单,其中图表使用 Recharts 和模拟数据,设置表单使用 react-hook-form 与 Zod 校验。

README 还提供了快速开始、脚本说明、演示路由、项目结构以及自定义主题、添加导航项、列表页、表单和图表的步骤。技术栈包括 Next.js 15 App Router、TypeScript、Tailwind CSS、shadcn/ui、Lucide、Recharts、react-hook-form、Zod 和 Sonner。

Next.js后台SaaS

适合你的项目吗?

适用场景

  • 搭建内部工具或 SaaS 管理后台的界面外壳
  • 快速原型化 CRUD 类后台页面
  • 作为学习 Next.js App Router 与 shadcn/ui 结合的示例项目
  • 在已有项目中复用其布局和 UI 组件模式

适合人群

  • 需要轻量后台模板并自行接入认证、数据库和 API 的开发者
  • 使用 Next.js、TypeScript 和 Tailwind CSS 技术栈的团队
  • 希望基于 shadcn/ui 快速搭建管理界面的项目

上手与定制指南

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

  1. 1

    克隆仓库后运行 npm install,再运行 npm run dev 启动开发服务器,默认地址为 http://localhost:3000

  2. 2

    可用脚本包括 npm run dev、npm run build、npm run start 和 npm run lint

  3. 3

    模板不包含真实认证、数据库和 API 层,需要按项目自行实现

  4. 4

    可通过修改 app/globals.css 中的 CSS 变量(如 --primary、--radius)重新设定主题

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

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

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

审核声明: codex-user-requested-batch-review-20261017 · 2026-10-16

查看当时使用的来源资料

SHA-256: 0e1ab11da36a16e94947b9b0a851446c5d8bb124a25dae4b87e4ffde0a5095a1

2026-10-15T09:36:45.822Z

来源文件 / 仓库
# Thinboard

**Thinboard** is a thin, open-source admin dashboard template for Next.js — a reusable shell you clone, re-theme, and extend for internal tools, SaaS admin panels, or any CRUD-style backend UI.

![Next.js](https://img.shields.io/badge/Next.js-15-black)
![TypeScript](https://img.shields.io/badge/TypeScript-5-blue)
![Tailwind CSS](https://img.shields.io/badge/Tailwind-CSS-38B2AC)
![License](https://img.shields.io/badge/License-MIT-green)

## What this is

Thinboard is intentionally **thin**: layout, design tokens, UI primitives, and example pages — not a full product.

- **Shell**: collapsible sidebar, header, page scaffolding, light/dark theming
- **UI kit**: buttons, inputs, tables, dialogs, toasts, and more ([shadcn/ui](https://ui.shadcn.com))
- **Examples**: overview with charts, users list, settings forms
- **Excluded by design**: real authentication, database, and API layers (bring your own per project)

## Features

- Next.js 15 **App Router** + strict TypeScript
- **shadcn/ui** + Tailwind CSS + CSS variable theming
- **Light / dark / system** theme via `next-themes`
- Collapsible sidebar + mobile drawer layout
- Data table pattern: search, sort, pagination (client-side demo)
- **Recharts** dashboard widgets with mock data
- **react-hook-form** + Zod on the settings example
- **Sonner** toasts
- **`/ui-kit`** — living catalog of components

## Quick start

```bash
git clone https://github.com/YOUR_USERNAME/thinboard.git
cd thinboard
npm install
npm run dev
```

Open [http://localhost:3000](http://localhost:3000).

### Scripts

| Command         | Description              |
|-----------------|--------------------------|
| `npm run dev`   | Start dev server         |
| `npm run build` | Production build         |
| `npm run start` | Run production build     |
| `npm run lint`  | Run ESLint               |

## Demo routes

| Route       | Purpose                             |
|-------------|-------------------------------------|
| `/`         | Dashboard overview (stats + charts) |
| `/users`    | Data table example                  |
| `/settings` | Forms + validation example          |
| `/ui-kit`   | Component showcase                  |
| `/login`    | Auth UI shell (no real auth)        |

## Project structure

```
app/
  (auth)/login/          # Login shell
  (dashboard)/           # Sidebar layout + pages
components/
  ui/                    # shadcn primitives
  dashboard/             # Sidebar, header, page chrome
  charts/                # Chart wrappers
  data/                  # Table, search, badges
  forms/                 # Form helpers + examples
lib/
  mock-data.ts           # Typed demo data
  validators.ts          # Zod schemas
  utils.ts               # cn() and helpers
types/
  index.ts               # Shared TypeScript types
```

## Customize for your project

### 1. Re-theme

Edit CSS variables in `app/globals.css` (`--primary`, `--radius`, etc.). Components inherit tokens automatically.

### 2. Add a nav item + page

1. Add a link in `components/dashboard/nav-config.ts`
2. Create `app/(dashboard)/your-page/page.tsx`
3. Use `<PageHeader />` inside the existing dashboard layout

### 3. Add a list page (CRUD)

Copy the `/users` pattern:

- Define types in `types/`
- Add mock or API-backed data in `lib/`
- Compose `DataTable`, `SearchInput`, `StatusBadge`, dialogs, and toasts

### 4. Add a form

1. Add a Zod schema in `lib/validators.ts`
2. Build a form in `components/forms/` with react-hook-form
3. Follow `/settings` for validation and submit feedback

### 5. Add a chart

1. Add series data in `lib/mock-data.ts`
2. Drop a widget from `components/charts/` into `ChartCard`

## Tech stack

| Layer       | Choice                    |
|-------------|---------------------------|
| Framework   | Next.js 15 (App Router)   |
| Language    | TypeScript                |
| Styling     | Tailwind CSS              |
| Components  | shadcn/ui (Radix)         |
| Icons       | Lucide                    |
| Charts      | Recharts                  |
| Forms       | react-hook-form + Zod     |
| Toasts      | Sonner                    |

## Philosophy

**Thin, not opinionated.** Thinboard ships patterns and UI so you can focus on domain logic — wire your APIs, auth, and data layer without fighting the layout.

## Roadmap

- [ ] Command palette (⌘K)
- [ ] i18n example
- [ ] Storybook for `components/ui`
- [ ] Example API route + data-fetching pattern

## Contributing

Contributions are welcome. Please open an issue before large changes. Keep PRs focused on the generic template — avoid product-specific auth providers, databases, or branding.

1. Fork the repo
2. Create a branch (`git checkout -b feat/your-feature`)
3. Commit with a clear message
4. Open a pull request

## License

Thinboard is open source under the [MIT License](LICENSE).

Copyright (c) 2026 Claret Nnamocha

You are free to use, modify, and distribute this project, including in commercial work, with minimal restrictions. See [LICENSE](LICENSE) for the full text.

---

**Thinboard** — clone it, theme it, ship your admin.
反馈内容错误

看看同类模板

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