Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

react-shadcn-admin

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 dev

pnpm 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 依赖文件也会分组。点击箭头即可展开,只影响资源管理器显示,不改变真实文件路径。

如何贡献

  1. Fork 本仓库并创建功能分支。
  2. 完成修改后运行 pnpm check 和 pnpm build,并验证相关页面与接口;本仓库不保留测试源码和测试命令。
  3. 提交 Pull Request 并简要说明改动目的和验证结果。

提交问题前请先搜索已有 Issue。安全问题请勿公开披露。请直接联系维护者。

Git 贡献提交规范

提交信息遵循 Conventional Commits:

feat: 新增功能
fix: 修复问题
docs: 更新文档
refactor: 重构代码
test: 更新测试
chore: 维护项目

一次提交只处理一个明确主题。描述使用简短的祈使句。

维护者

Star 历史

Star History Chart

如果这个项目对你有帮助就欢迎点亮 Star。

开源协议

项目来源:Core-RCE/react-shadcn-admin。本项目基于 MIT License 开源。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages