English | 简体中文
一个开源现代且易于扩展的全栈后台管理框架。由 Core-RCE 创建并维护。
react-shadcn-admin 提供 React 管理界面、Go API 和 SQLite 数据层。适合快速搭建后台管理系统或作为全栈项目起点。
- 开箱即用:提供完整的前后端项目结构。安装后即可开始开发
- 用户管理:支持创建、编辑、启用、禁用、重置密码和删除用户
- 主题外观:支持浅色、深色和跟随系统主题
- 多语言:内置简体中文和英文。可随时切换
- 易于扩展:结构清晰。适合按需增加页面和业务功能
- 稳定反馈:提供统一错误提示和常见状态页
当前登录为前端演示认证,默认演示账号为 "admin / 123456",后端用户管理接口尚未实现身份认证与授权,不应直接暴露到公网或用于生产环境。两步验证字段仅用于状态展示。生产使用前需接入真实认证、服务端权限校验与相应部署防护。
环境要求:Node.js 24+ / pnpm 12.4.1+ / Go 1.26+。项目固定使用 pnpm 12.4.1,所有命令均在仓库根目录执行。
git clone https://github.com/Core-RCE/react-shadcn-admin.git
cd react-shadcn-admin
pnpm install
pnpm deps:backend
pnpm devpnpm install 安装前端依赖,pnpm deps:backend 显式下载 Go 模块,因此需要预先安装 Go。pnpm 统一管理命令入口,后端仍使用 Go 工具链和 go.mod / go.sum 管理依赖。
pnpm dev 在同一个终端并行启动前后端,按 Ctrl+C 停止。前端默认运行于 http://localhost:5173,后端默认运行于 http://127.0.0.1:8080,前端通过开发代理转发 /api 请求到后端。
| 命令 | 说明 |
|---|---|
pnpm install |
安装前端工作区依赖 |
pnpm deps:backend |
下载 Go 模块 |
pnpm dev |
同时启动前端与后端开发服务 |
pnpm dev:frontend |
仅启动前端 |
pnpm dev:backend |
仅启动后端 |
pnpm lint |
执行前端静态检查 |
pnpm typecheck |
执行前端 TypeScript 类型检查 |
pnpm check |
执行前端静态检查、类型检查和后端 go vet |
pnpm build |
依次构建前端和后端 |
pnpm build:frontend |
仅构建前端,输出到 frontend/dist/ |
pnpm build:backend |
仅构建后端,输出到 backend/bin/ |
需要分开查看日志时,在两个终端分别运行 pnpm dev:frontend 和 pnpm dev:backend。自动化环境可使用 pnpm install --frozen-lockfile 安装锁定的依赖。
前端与后端分别读取各自目录的环境文件,不共享文件:
| 文件 | 用途 |
|---|---|
frontend/.env、backend/.env |
所有环境的公共默认配置 |
frontend/.env.development、backend/.env.development |
开发环境配置,覆盖公共配置 |
frontend/.env.production、backend/.env.production |
生产环境配置,覆盖公共配置 |
这些文件纳入 Git,只放可公开的配置,不放密码、令牌或其他密钥。个人配置可放在对应目录的 .env.local 或 .env.<环境>.local,这些本地覆盖文件已被 Git 忽略。前端所有 VITE_* 配置都会暴露给浏览器,不能用于保存密钥。
加载优先级从高到低:进程环境变量 > .env.<环境>.local > .env.<环境> > .env.local > .env。修改环境文件后应重启开发服务。
- 前端由 Vite 自动加载:
pnpm dev使用development模式,pnpm build使用production模式。生产构建前,在frontend/.env.production.local或进程环境变量中设置真实的VITE_API_BASE_URL;默认的.invalid占位地址会使构建失败 - 后端启动时自动读取当前工作目录的环境文件。pnpm 后端脚本以
backend/为工作目录;直接运行编译产物时也应从backend/目录运行,或将环境文件放到部署工作目录 - 后端根据进程环境变量
APP_ENV选择模式,未设置时读取.env.local/.env中的APP_ENV,缺省为development。生产启动需明确设置APP_ENV=production,并覆盖生产 CORS 占位地址和按需设置数据库路径;构建后端不会切换运行环境 - 后端开发启动时自动创建 SQLite 数据库并执行迁移,默认路径为
backend/data/react-shadcn-admin.db,默认不填充示例数据 - 后端产物为
backend/bin/server,Windows 下为backend/bin/server.exe
例如,在 PowerShell 中从仓库根目录启动生产后端(先配置真实的生产环境参数):
$env:APP_ENV = 'production'
Set-Location backend
./bin/server.exe项目的 .vscode/settings.json 已开启文件嵌套:README 翻译与许可证折叠到 README.md 下,环境配置折叠到 .env 下,pnpm 配置折叠到 package.json 下,TypeScript 配置与 Go 依赖文件也会分组。点击箭头即可展开,只影响资源管理器显示,不改变真实文件路径。
- Fork 本仓库并创建功能分支。
- 完成修改后运行
pnpm check和pnpm build,并验证相关页面与接口;本仓库不保留测试源码和测试命令。 - 提交 Pull Request 并简要说明改动目的和验证结果。
提交问题前请先搜索已有 Issue。安全问题请勿公开披露。请直接联系维护者。
提交信息遵循 Conventional Commits:
feat: 新增功能
fix: 修复问题
docs: 更新文档
refactor: 重构代码
test: 更新测试
chore: 维护项目
一次提交只处理一个明确主题。描述使用简短的祈使句。
如果这个项目对你有帮助就欢迎点亮 Star。
项目来源:Core-RCE/react-shadcn-admin。本项目基于 MIT License 开源。