字
字节笔记本
2026年2月22日
ray-nestjs-admin:基于 NestJS 的企业级后台管理系统
本文介绍 ray-nestjs-admin,一个基于 NestJS 10.x + TypeORM + MySQL 的后台管理系统。该项目提供了多应用用户、角色、菜单、权限管理功能,帮助开发者快速搭建企业级后台管理应用。
项目简介
ray-nestjs-admin 是一个开源的后台管理系统项目,由 gray-ray 开发维护。该项目采用现代化的技术栈,实现了完整的 RBAC(基于角色的访问控制)权限管理功能,支持多应用架构。
核心特性
- 多应用架构: 支持多个应用的统一管理
- 用户管理: 完整的用户生命周期管理
- 角色权限: 灵活的 RBAC 权限控制体系
- 菜单管理: 动态菜单配置与管理
- 应用管理: 多应用注册与配置
- 安全特性: 用户认证、角色认证、密码加密
- 请求保护: Helmet、CSRF 保护、请求限速
- 日志系统: 完善的日志打印与追踪
- 事务支持: 数据库事务处理
技术栈
- NestJS v10 - 渐进式 Node.js 框架,提供模块化架构
- TypeORM - 现代化的 ORM 框架,支持 TypeScript
- MySQL - 关系型数据库,存储业务数据
- TypeScript - 类型安全的 JavaScript 超集(占比 96.9%)
- Docker - 容器化部署方案
- PM2 - Node.js 进程管理器
安装指南
前置要求
- Node.js >= 18
- pnpm >= 8(推荐)
- MySQL 数据库
安装步骤
bash
# 克隆项目
git clone https://github.com/gray-ray/ray-nestjs-admin.git
cd ray-nestjs-admin
# 安装依赖
pnpm install快速开始
开发环境运行
bash
# 开发模式
pnpm run start
# 监听模式(热重载)
pnpm run start:dev生产环境运行
bash
# 生产模式
pnpm run start:prodDocker 部署
项目支持 Docker 容器化部署,包含 Dockerfile 和 docker-compose.yml 配置文件:
bash
# 使用 Docker Compose 启动
docker-compose up -dPM2 部署
项目包含 ecosystem.config.js 配置文件,支持 PM2 进程管理:
bash
# 使用 PM2 启动
pm2 start ecosystem.config.js项目结构
text
ray-nestjs-admin/
├── config/ # 配置文件
├── core/ # 核心模块
├── docs/ # 文档
├── src/ # 源代码
│ ├── modules/ # 业务模块
│ ├── common/ # 公共工具
│ └── main.ts # 入口文件
├── test/ # 测试文件
├── Dockerfile # Docker 配置
├── docker-compose.yml
└── ecosystem.config.js核心模块说明
用户模块
- 用户注册、登录、登出
- 用户信息管理
- 密码加密存储
角色模块
- 角色创建与配置
- 角色权限分配
- 用户角色关联
菜单模块
- 菜单树形结构管理
- 动态菜单权限控制
- 前端路由映射
应用模块
- 多应用注册
- 应用配置管理
- 应用间数据隔离
安全特性
- Helmet: HTTP 安全头保护
- CSRF 保护: 防止跨站请求伪造攻击
- 请求限速: 防止暴力破解和 DDoS
- 密码加密: 使用 bcrypt 等算法加密存储
- JWT 认证: 基于 Token 的身份验证
项目链接
- GitHub 仓库: https://github.com/gray-ray/ray-nestjs-admin
- 技术标签: NestJS, TypeORM, MySQL, TypeScript
- 版本: v1.0.0(2024年4月发布)
总结
ray-nestjs-admin 是一个功能完善的后台管理系统基础框架,适合作为企业级应用的起点。其现代化的技术栈、完整的权限管理、以及开箱即用的部署方案,能够帮助开发者快速构建稳定、安全的后台管理系统。
分享: