基于pigx的分布式架构
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
5.7 KiB

11 months ago
  1. <p align="center">
  2. <img src="https://img.shields.io/badge/Pig-3.8-success.svg" alt="Build Status">
  3. <img src="https://img.shields.io/badge/Spring%20Cloud-2021-blue.svg" alt="Coverage Status">
  4. <img src="https://img.shields.io/badge/Spring%20Boot-2.7-blue.svg" alt="Downloads">
  5. <img src="https://img.shields.io/badge/Vue-3.2-blue.svg" alt="Downloads">
  6. <img src="https://img.shields.io/github/license/pig-mesh/pig"/>
  7. </p>
  8. ## 系统说明
  9. - 基于 Spring Cloud 2021 、Spring Boot 2.7、 OAuth2 的 RBAC **权限管理系统**
  10. - 基于数据驱动视图的理念封装 element-plus,即使没有 vue 的使用经验也能快速上手
  11. - 提供对常见容器化支持 Docker、Kubernetes、Rancher2 支持
  12. - 提供 lambda 、stream api 、webflux 的生产实践
  13. ## 文档视频
  14. [ 🚀🚀🚀 低代码数据可视化](http://datav.pig4cloud.com)
  15. [ 配套文档 wiki.pig4cloud.com](https://wiki.pig4cloud.com)
  16. [ 配套视频 tv.pig4cloud.com](https://www.bilibili.com/video/BV12t411B7e9)
  17. [PIGX 在线体验 pigx.pigx.top](http://pigx.pigx.top)
  18. [产品白皮书 paper.pig4cloud.com](https://paper.pig4cloud.com)
  19. ## 微信群 [禁广告]
  20. ![](https://minio.pigx.top/oss/1648184189.png)
  21. ## 快速开始
  22. ### 分支说明
  23. - master: java8 + springboot 2.7 + springcloud 2021
  24. - jdk17: java17 + springboot 3.1 + springcloud 2022
  25. ### 核心依赖
  26. | 依赖 | 版本 |
  27. |-----------------------------|------------|
  28. | Spring Boot | 2.7.18 |
  29. | Spring Cloud | 2021.0.8 |
  30. | Spring Cloud Alibaba | 2021.0.6.1 |
  31. | Spring Authorization Server | 0.4.4 |
  32. | Mybatis Plus | 3.5.7 |
  33. | hutool | 5.8.29 |
  34. ### 模块说明
  35. ```lua
  36. pig-ui -- https://gitee.com/log4j/pig-ui
  37. pig
  38. ├── pig-auth -- 授权服务提供[3000]
  39. ├── pig-boot -- 单体模式启动[9999]
  40. └── pig-common -- 系统公共模块
  41. ├── pig-common-bom -- 全局依赖管理控制
  42. ├── pig-common-core -- 公共工具类核心包
  43. ├── pig-common-datasource -- 动态数据源包
  44. ├── pig-common-job -- xxl-job 封装
  45. ├── pig-common-log -- 日志服务
  46. ├── pig-common-oss -- 文件上传工具类
  47. ├── pig-common-mybatis -- mybatis 扩展封装
  48. ├── pig-common-seata -- 分布式事务
  49. ├── pig-common-security -- 安全工具类
  50. ├── pig-common-swagger -- 接口文档
  51. ├── pig-common-feign -- feign 扩展封装
  52. └── pig-common-xss -- xss 安全封装
  53. ├── pig-register -- Nacos Server[8848]
  54. ├── pig-gateway -- Spring Cloud Gateway网关[9999]
  55. └── pig-upms -- 通用用户权限管理模块
  56. └── pig-upms-api -- 通用用户权限管理系统公共api模块
  57. └── pig-upms-biz -- 通用用户权限管理系统业务处理模块[4000]
  58. └── pig-visual
  59. └── pig-monitor -- 服务监控 [5001]
  60. ├── pig-codegen -- 图形化代码生成 [5002]
  61. └── pig-quartz -- 定时任务管理台 [5007]
  62. ```
  63. ### 本地开发 运行
  64. pig 提供了详细的[部署文档 wiki.pig4cloud.com](https://www.yuque.com/pig4cloud/pig/vsdox9),包括开发环境安装、服务端代码运行、前端代码运行等。
  65. 请务必**完全按照**文档部署运行章节 进行操作,减少踩坑弯路!!
  66. ### Docker 运行
  67. ```
  68. # 下载并运行服务端代码
  69. git clone https://gitee.com/log4j/pig.git
  70. cd pig && mvn clean install && docker-compose up -d
  71. # 下载并运行前端UI
  72. git clone https://gitee.com/log4j/pig-ui.git
  73. cd pig-ui && npm install -g cnpm --registry=https://registry.npm.taobao.org
  74. cnpm install && cnpm run build:docker && cd docker && docker-compose up -d
  75. ```
  76. ## 免费公开课
  77. <table>
  78. <tr>
  79. <td><a href="https://www.bilibili.com/video/av45084065" target="_blank"><img src="https://minio.pigx.top/oss/1655474345.jpg"></a></td>
  80. <td><a href="https://www.bilibili.com/video/av77344954" target="_blank"><img src="https://minio.pigx.top/oss/1656837143.jpg"></a></td>
  81. </tr>
  82. <tr>
  83. <td><a href="https://www.bilibili.com/video/BV1J5411476V" target="_blank"><img src="https://minio.pigx.top/oss/1655474369.jpg"></a></td>
  84. <td><a href="https://www.bilibili.com/video/BV14p4y197K5" target="_blank"><img src="https://minio.pigx.top/oss/1655474381.jpg"></a></td>
  85. </tr>
  86. </table>
  87. ## 开源共建
  88. ### 开源协议
  89. pig 开源软件遵循 [Apache 2.0 协议](https://www.apache.org/licenses/LICENSE-2.0.html)。
  90. 允许商业使用,但务必保留类作者、Copyright 信息。
  91. ![](https://minio.pigx.top/oss/1655474288.jpg)
  92. ### 其他说明
  93. 1. 欢迎提交 [PR](https://dwz.cn/2KURd5Vf),注意对应提交对应 `dev` 分支
  94. 代码规范 [spring-javaformat](https://github.com/spring-io/spring-javaformat)
  95. <details>
  96. <summary>代码规范说明</summary>
  97. 1. 由于 <a href="https://github.com/spring-io/spring-javaformat" target="_blank">spring-javaformat</a>
  98. 强制所有代码按照指定格式排版,未按此要求提交的代码将不能通过合并(打包)
  99. 2. 如果使用 IntelliJ IDEA
  100. 开发,请安装自动格式化软件 <a href="https://repo1.maven.org/maven2/io/spring/javaformat/spring-javaformat-intellij-idea-plugin/" target="_blank">
  101. spring-javaformat-intellij-idea-plugin</a>
  102. 3. 其他开发工具,请参考 <a href="https://github.com/spring-io/spring-javaformat" target="_blank">
  103. spring-javaformat</a>
  104. 说明,或`提交代码前`在项目根目录运行下列命令(需要开发者电脑支持`mvn`命令)进行代码格式化
  105. ```
  106. mvn spring-javaformat:apply
  107. ```
  108. </details>
  109. 2. 欢迎提交 [issue](https://gitee.com/log4j/pig/issues),请写清楚遇到问题的原因、开发环境、复显步骤。