基于 Next.js 16 构建的现代化、高性能、国际化论坛系统
A modern, high-performance, i18n-ready forum built with Next.js 16
NextBB 是一个使用最新技术栈开发的开源论坛应用。它不仅提供了完整的社区功能,还深度集成了 AI 自动翻译、自动化规则引擎和丰富的互动组件,旨在为用户提供流畅、现代且智能的交流体验。
|
基于 Next.js 16 App Router 和 React 19,利用服务端组件(RSC)实现极速加载
灵活配置触发器与动作,实现社区运营自动化 投票 · 抽奖 · 悬赏 · 签到 |
全功能仪表盘,管理用户、内容、配置及 LLM 设置
Milkdown Markdown 编辑器,斜杠命令、实时预览 NextAuth.js 认证 |
| 框架 | Next.js 16 (App Router) |
| 语言 | TypeScript (Strict Mode) |
| 样式 | Tailwind CSS 4 · shadcn/ui · Framer Motion |
| 数据库 | PostgreSQL + Prisma ORM |
| 缓存 | Redis |
| 认证 | NextAuth.js |
| 数据请求 | SWR |
| 国际化 | next-intl |
| 表单 | React Hook Form + Zod |
| AI | Vercel AI SDK |
| 依赖 | 版本要求 |
|---|---|
| Node.js | 20+ |
| pnpm | 10+ |
| PostgreSQL | 16+ |
| Redis | 7+ |
# 1. 克隆仓库
git clone https://github.com/xintaofei/nextbb.git
cd nextbb
# 2. 安装依赖
pnpm install
# 3. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填写数据库等配置
# 4. 初始化数据库
pnpm prisma generate
pnpm db:push
pnpm db:seed
# 5. 启动开发服务器
pnpm dev打开 http://localhost:3000 即可访问 🎉
点击上方按钮,Vercel 会自动引导你集成:
- Neon - PostgreSQL 数据库
- Upstash - Redis 缓存服务
- Blob - 云端存储服务
📋 需要手动配置的环境变量
| 变量名 | 说明 | 生成方式 |
|---|---|---|
JWT_AUTH_SECRET |
JWT 认证密钥 | openssl rand -base64 32 或随机字符串 |
NEXTAUTH_SECRET |
Session 加密密钥 | openssl rand -base64 32 或随机字符串 |
NEXTAUTH_URL |
认证回调 URL | https://nextbb.org (替换为实际部署的域名访问地址) |
IS_SERVERLESS |
Serverless 模式 | 设置为 true |
NODE_TLS_REJECT_UNAUTHORIZED |
SSL 验证 | 设置为 0 |
src/
├── app/ # Next.js 路由与页面 (App Router)
│ ├── [locale]/ # 国际化路由入口
│ │ ├── admin/ # 管理员后台
│ │ ├── api/ # API 接口
│ │ └── (main)/ # 前台页面
├── components/ # UI 组件
│ ├── admin/ # 后台专用组件
│ ├── common/ # 通用组件
│ ├── editor/ # 编辑器组件
│ └── ui/ # shadcn/ui 基础组件
├── hooks/ # 自定义 React Hooks
├── i18n/ # 国际化配置与翻译
├── lib/ # 工具函数与服务
│ ├── ai/ # AI 模型适配层
│ ├── automation/ # 自动化规则引擎
│ └── services/ # 业务逻辑服务
├── types/ # TypeScript 类型定义
└── instrumentation.ts # 服务启动初始化
欢迎加入 NextBB 社区,与其他开发者和用户交流讨论!
QQ 群号:235959967
- 💡 讨论功能建议和使用技巧
- 🐛 反馈问题并获得技术支持
- 🤝 结识志同道合的开发者
- 📢 获取项目最新动态
我们欢迎所有形式的贡献!
感谢所有为这个项目做出贡献的开发者!
本项目采用 GPL-2.0 License 开源许可证。