字节笔记本

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:prod

Docker 部署

项目支持 Docker 容器化部署,包含 Dockerfile 和 docker-compose.yml 配置文件:

bash
# 使用 Docker Compose 启动
docker-compose up -d

PM2 部署

项目包含 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 的身份验证

项目链接

总结

ray-nestjs-admin 是一个功能完善的后台管理系统基础框架,适合作为企业级应用的起点。其现代化的技术栈、完整的权限管理、以及开箱即用的部署方案,能够帮助开发者快速构建稳定、安全的后台管理系统。

分享: