- 1、项目前端采用
react开发的,预览地址。前端项目地址 - 2、采用
angular模块化开发方式来构建项目,如果你想用java的mvc方式来开发nestjs项目你可以查看v1分支。 - 3、项目是基于
mysql数据库,项目中全部采用typeorm来操作数据库,弱化了原生sql,避免前端的小伙伴没有sql基础。 - 4、实现用户名、手机号码、邮箱任一的方式实现登录。
- 5、使用
jwt的方式进行登录鉴权,采用自定义装饰器结合守卫来实现对接口鉴权拦截访问。 - 6、如果你要演示菜单权限和接口权限,请自己创建账号、角色、分配菜单和接口权限。
-
1、本项目仅仅是实现了
rbac的权限系统,对于其他的功能需要自己基于这个基础上去扩展 -
2、先在本地创建数据库
-
3、在项目的根目录的
.env文件修改为你自己的数据库基本配置(地址、用户名、密码、数据库)DB_HOST=localhost DB_USERNAME=root DB_PASSWORD=123456 DB_DATABASE=nestjs-mysql
-
4、安装依赖包
-
5、启动项目
npm run start:dev
-
5、运行项目会自动初始化菜单数据和用户数据(账号:
admin,密码:123456) -
6、如果你想初始化别的数据,可以在
src/services/init-db中写上你要初始化的数据
-
实现用户的登录、
jwt鉴权、菜单权限、接口权限 -
基于
RBAC实现权限控制 -
集成
swagger文档 -
ecosystem.config.js是采用PM2的配置文件,项目开发完后直接运行命令一键部署npm run build # 开发环境 npm run pm2:dev # 生产环境 npm run pm2:prod
-
日志系统没有开发,直接使用
PM2查看日志pm2 log
本项目还在持续集成新功能进来,最后会加上前端做一个
cms系统的api,后期会拉分支使用graphql提供api
