# ruoyi-nest **Repository Path**: jingfucoding/ruoyi-nest ## Basic Information - **Project Name**: ruoyi-nest - **Description**: nest.js 若依管理系统实现,兼容若依系统管理菜单下用户管理、角色管理等所有功能, - **Primary Language**: TypeScript - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-12-13 - **Last Updated**: 2025-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ruoyi-nest 项目脚手架 ### 介绍 nest.js 若依管理系统实现,兼容若依系统管理菜单下用户管理、角色管理等所有功能,后端使用nest.js框架,前端使用ruoyi-ui, 功能如下: #### 后端: - 登录鉴权(redis+jwt) - 不同环境配置文件划分 - mysql数据库操作Primsa - 缓存redis操作io-redis - swagger - 全局ValidationPipe校验 - 全局异常拦截 - 统一返回对象封装 - dockerfile部署文件 - ejs模板引擎集成 - 异步本地存储:nestjs-cls提供类似于其他语言中的线程本地存储功能 - 集成nodemailer发送邮件,参考:MailSendController - 系统通知以及用户私信功能实现,用户私信使用event-emitter集合服务器事件sse实现,参考:NoticeController.sendUserNotice方法 #### 前端: - 用户管理 - 角色管理 - 菜单管理 - 部门管理 - 岗位管理 - 字典管理 - 参数管理 - 通知管理 ### 数据库 #### 模型定义:使用dbml DBML(Database Markup Language)是一种开源的 DSL 语言,旨在定义和记录数据库模式和结构。 Docs: https://dbml.dbdiagram.io/docs #### ORM: prisma **prisma开发流程:** - 1.更改数据库架构 (使用dbml或其他方式) - 2.运行 prisma db pull 更新 Prisma 架构 : npm run prisma:db-pull:dev - 3.运行 prisma generate 更新 Prisma Client : npm run prisma:generate:dev - 4.在应用程序中使用更新的 Prisma Client ![alt](https://res.cloudinary.com/prismaio/image/upload/v1628761155/docs/ToNkpb2.png) ### 运行 #### 后端: - 1.安装依赖:npm install --registry=https://registry.npmmirror.com - 2.配置数据库连接:config/env/dev.env.ts - 3.导入sql数据:db/system.sql - 4.生成prisma client:npm run prisma:generate:dev - 5.启动项目:npm run start:dev #### 前端: - 1.安装依赖:npm install --registry=https://registry.npmmirror.com - 2.启动项目:npm run dev ### 部分功能截图 ![](https://jingfu-image.oss-cn-shanghai.aliyuncs.com/2024/1213/8LrNXE.png) ![](https://jingfu-image.oss-cn-shanghai.aliyuncs.com/2024/1213/sYZiN0.png)