/nest-admin

NestJs CRUD for RESTful API 使用 Nestjs + Mysql + Typeorm + Redis + Jwt + Swagger 企业中后台管理系统项目RBAC权限管理(细粒度到按钮)、实现单点登录等...

Primary LanguageTypeScriptMIT LicenseMIT

nest-admin

基于 NestJs + TypeScript + TypeORM + Redis + MySql + Vue3 + Ant Design Vue 编写的一款简单高效的前后端分离的权限管理系统。希望这个项目在全栈的路上能够帮助到你。

演示地址

项目启动前的准备工作

环境要求

  • nodejs 16.20.2+
  • docker 20.x+ ,其中 docker compose版本需要 2.17.0+
  • mysql 8.x+
  • 使用 pnpm 包管理器安装项目依赖

演示环境账号密码:

账号 密码 权限
admin a123456 超级管理员

所有新建的用户初始密码都为 a123456

本地部署账号密码:

账号 密码 权限
admin a123456 超级管理员

快速体验

启动成功后,通过 http://localhost:7001/api-docs/ 访问。

pnpm docker:up
# or
docker compose --env-file .env --env-file .env.production up -d --no-build

停止并删除所有容器

pnpm docker:down
# or
docker compose --env-file .env --env-file .env.production down

删除镜像

pnpm docker:rmi
# or
docker rmi buqiyuan/nest-admin-server:stable

查看实时日志输出

pnpm docker:logs
# or
docker compose --env-file .env --env-file .env.production logs -f

本地开发

  • 获取项目代码
git clone https://github.com/buqiyuan/nest-admin
  • 【可选】如果你是新手,还不太会搭建mysql/redis,你可以使用 Docker 启动指定服务供本地开发时使用, 例如:
# 启动MySql服务
docker compose --env-file .env --env-file .env.development run -d --service-ports mysql
# 启动Redis服务
docker compose --env-file .env --env-file .env.development run -d --service-ports redis
  • 安装依赖
cd nest-admin

pnpm install
pnpm dev
  • 打包
pnpm build

数据库迁移

  1. 更新数据库(或初始化数据)
pnpm migration:run
  1. 生成迁移
pnpm migration:generate
  1. 回滚到最后一次更新
pnpm migration:revert

更多细节,请移步至官方文档

Tip

如果你的实体类数据库配置有更新,请执行npm run build后再进行数据库迁移相关操作。

系统截图

欢迎 Star && PR

如果项目有帮助到你可以点个 Star 支持下。有更好的实现欢迎 PR。

致谢

LICENSE

MIT