Skip to content
项目

ahaodev/shadmin has 175 GitHub stars and 23 forks. GitHot measured 0 stars in 24 hours and +2 in 7 days. Last checked 2026-11-09 21:58 UTC. Last push 2026-10-30.

这些数字如何统计

An Enterprise-Grade Full-Stack RBAC Permission Management System Built with Go + React

可以做什么

  • 🏗️ Clean Architecture — Domain‑driven layered design (Controller → Usecase → Repository)
  • 🔐 RBAC with Casbin — Fine‑grained role‑based access control for APIs and menus
  • 🌗 Light & Dark Themes — Seamless theme switching with system preference detection
  • 📱 Responsive Design — Optimized for desktop, tablet, and mobile

实测星标增长

24小时
0
7天
+2
15天
正在收集历史
1个月
正在收集历史

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

README.zh.md

原文

Shadmin

基于 Go + React 构建的企业级全栈 RBAC 权限管理系统

简体中文 · English

Shadmin 展示

Go React TypeScript License

Gin · Ent ORM · Casbin · Shadcn UI · TanStack Router · Tailwind CSS


✨ 特性

  • 🏗️ 整洁架构 — 领域驱动的分层设计(Controller → Usecase → Repository)
  • 🔐 Casbin RBAC 权限管理 — 细粒度的基于角色的 API 和菜单访问控制
  • 🌗 亮色 & 暗色主题 — 无缝切换,支持系统偏好检测
  • 📱 响应式设计 — 适配桌面端、平板和移动端
  • 🔍 全局搜索 — 快速导航菜单和资源
  • 📊 数据仪表板 — 图表和统计数据可视化
  • 🗂️ 动态菜单管理 — 后端驱动的菜单树,权限感知渲染
  • ⚡ 缓存管理 — 支持 Redis 或 go-cache,灵活可选
  • 🗄️ 多数据库支持 — 开箱即用支持 SQLite(默认)、PostgreSQL、MySQL

🚀 跑起来

环境要求

  • Go 1.27.1+
  • Node.js 22+ & pnpm 11+

运行

# Clone the repository
git clone https://github.com/ahaodev/shadmin.git
cd shadmin

go install github.com/swaggo/swag/cmd/swag@latest
go install entgo.io/ent/cmd/ent@latest

# Install & build frontend
cd frontend && pnpm install && pnpm build

# Start backend (from project root)
# Generates Ent code, embeds frontend/dist/, listens on :55667
# .env auto‑generated on first run
cd ..
swag init
go run -mod=mod entgo.io/ent/cmd/ent generate ./ent/schema
go run .

默认账号: admin / 123

🔐 认证与权限

  • 认证:JWT 访问令牌 + 刷新令牌,通过 Authorization: Bearer <token> 传递
  • API 鉴权:Casbin 中间件对受保护路由检查 (userID, path, method)
  • 前端守卫:通过 usePermission() hook 与 auth-store 的 hasPermission() / hasRole() 判定控制 UI 显隐
  • 菜单系统:通过 /api/v1/resources 获取动态菜单树,自动适配用户权限
📁 项目结构
shadmin/
├── api/            # 控制器和路由(Gin)
├── bootstrap/      # 应用引导、数据库、Casbin、种子数据
├── domain/         # 实体、DTO、接口定义
├── ent/schema/     # Ent ORM 数据模型
├── repository/     # 数据访问层
├── usecase/        # 业务逻辑层
├── internal/       # 内部工具
├── pkg/            # 公共包
├── frontend/            # React 前端(Vite + shadcn/ui)
│   └── src/
│       ├── routes/       # TanStack 文件路由
│       ├── features/     # 功能模块
│       ├── services/     # API 封装(Axios)
│       └── stores/       # Zustand 状态管理
├── docs/           # 文档和图片
└── main.go         # 入口文件

📚 文档

📄 许可证

MIT

探索相关项目