NestAdmin 是一个简单高效的的后台管理系统,基于最新的前端技术栈,包括 Nestjs, TypeScript, TypeOrm, Mysql 和 Redis,底层可选express或fastify(master分支采用express、fastify分支采用fastify)。 适用于WEB全栈人员快速开发后台管理系统。NestAdmin 配套前端项目Vue3NaiveAdmin 前端地址传送门
超级管理员:superadmin 密码:123456 // 这个账户用于作者在演示模式下修改数据,默认是 123456,如果你需要可以修改密码。一般来说所有的权限都可以用这个账户给。这个角色整个系统只赋予了一个用户:superadmin。
管理员账户: admin 密码:123456
测试账户:test 密码:123456
游客账户:guest 密码:123456
| 功能模块 | 功能描述 | 是否完成 | 备注 |
|---|---|---|---|
| 用户认证 | 用户注册、登录、验证码登录、退出登录、修改密码 | ✅ | |
| 权限管理 | 基于角色的权限管理 | ✅ | |
| 部门管理 | 管理组织架构中的部门信息 | ✅ | |
| 岗位管理 | 管理岗位信息 | ❌ | 正在考虑做不做 |
| 角色管理 | 管理不同用户角色及其权限 | ✅ | |
| 用户管理 | 管理用户信息及权限分配 | ✅ | |
| 菜单管理 | 管理系统菜单及权限控制 | ✅ | |
| 文件上传 | 支持文件上传功能 | ✅ | |
| 邮件服务 | 发送邮件通知或验证码 | ✅ | |
| 验证码服务 | 生成和验证验证码 | ✅ | |
| 日志服务 | 记录系统操作日志 | ✅ | |
| 定时任务 | 设置和管理定时任务 | ✅ | |
| 数据字典 | 管理系统中常用的字典数据 | ✅ | |
| 系统公告 | 发布和管理系统公告 | ✅ | |
| 参数配置 | 系统参数的配置管理 | ✅ | |
| 缓存管理 | 管理 Redis 缓存数据 | ✅ | |
| 支付功能 | 支持支付宝沙箱支付(测试环境) 正式支付仅仅是修改参数即可 | ✅ | |
| 第三方登录 | 支持 GitHub 第三方登录 | ✅ |
Swagger文档: Swagger
Knife4j版: Swagger-Knife4j
环境准备
确保你的环境满足以下要求:
- git: 你需要git来克隆和管理项目版本。
- NodeJS: >20,推荐 21.7.3 或更高。
- pnpm: >9,推荐 9.9.0 或更高。
克隆项目
git clone https://github.com/mrzym99/nest-admin.git导入sql文件 sql文件: nest_admin.sql
需要在本地mysql数据库中创建 nest_admin 数据库 并导入 nest_admin.sql
环境配置 配置文件内会有注释,主要是配置 mysql 、 redis,本地需要启动 mysql 和 redis
- .env 基础配置
- .env.development 开发环境配置
- .env.production 生产环境配置
安装依赖
pnpm i本项目使用 pnpm 管理依赖,如果你没有安装 pnpm,请先安装它(npm i pnpm -g)。
启动项目
pnpm run start:dev运行起来后可以在项目日志内看到项目运行的地址和swagger文档地址
本项目使用了 Docker 来构建和运行项目。您可以通过以下步骤来构建和运行项目:
环境要求
您的环境必须满足以下要求:
- 含有稳定版本的 Docker 和 Docker Compose。
注意事项
docker-compose.yml 对应开发环境 dev,docker-compose.prod.yml对应生产环境 prod
1、构建项目
pnpm run docker:build:dev # 开发环境
pnpm run docker:build:prod # 生产环境
2、运行项目
pnpm run docker:up:dev # 开发环境
pnpm run docker:up:prod # 生产环境
3、停止和移除
pnpm run docker:down # 停止容器
pnpm run docker:down:v # 停止容器 并且删除数据卷(慎用,清理数据卷后,容器内保存的数据就没有了)
这些命令都是根据 docker compose 来进行编写的,只是将 docker compose 的命令写进了 scripts 里
如果遇到构建失败的情况,可能是因为您的Docker 环境存在问题。可以切换自己的Docker源地址,这里推荐 阿里云镜像加速
还有一些镜像 如毫秒镜像等,可以问AI
1、构建镜像
// 构建镜像 image_name 镜像名称 tag 版本
docker build -t <image_name>:<tag> .
eg: docker build -t nest-admin:v1 .
2、查看镜像
docker images
3、运行容器
docker run -d -p 3000:3000 --name my-app my-app:v1
// -p 3000:3000 表示 -p 表示端口 第一个 3000 表示宿主机(服务器)端口 第二个3000 表示容器内端口
4、 查看容器
docker ps
docker-compose build:构建镜像。
docker-compose up:创建并启动容器。
docker-compose down:停止并删除容器、网络和卷(如果使用–v选项)。
docker-compose start:启动服务。
docker-compose stop:停止服务。
docker-compose restart:重启服务。
docker-compose logs:查看容器日志。
docker-compose ps:列出所有容器。
docker-compose config:检查docker-compose.yml文件的配置。
1、进入容器
docker exec -it [容器名或ID] sh
2、导出 sql 到容器内
mysqldump -u root -p nest_admin > /opt/nest_admin.sql
3、导出 sql 到本地
docker cp [容器名或ID]:/opt/nest_admin.sql /opt/nest_admin.sql
NestAdmin 是完全开源免费的项目,在帮助开发者更方便地进行中大型管理系统开发,同时也提供微信和 QQ 交流群,使用问题欢迎在群内提问。
项目基于 MIT © 2025 Xiao Zhang 协议,仅供学习参考,商业使用请保留作者版权信息,作者不保证也不承担任何软件的使用风险。