Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matevip/matecloud
🔥MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Boot 2.7.0、 Spring Cloud 2021、Spring Cloud Alibaba 2021、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ等,支持多租户的低代码平台,Saas平台开发套件
https://github.com/matevip/matecloud
alibabacloud cloudspring jetcache microservice microservices-architecture nacos nacos-spring-cloud rbac rocketmq saas spring-boot spring-cloud spring-cloud-alibaba spring-security-oauth2 springboot-admin springboot-springcloud springcloud springcloudalibaba tenant vue3
Last synced: 3 days ago
JSON representation
🔥MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Boot 2.7.0、 Spring Cloud 2021、Spring Cloud Alibaba 2021、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ等,支持多租户的低代码平台,Saas平台开发套件
- Host: GitHub
- URL: https://github.com/matevip/matecloud
- Owner: matevip
- License: apache-2.0
- Created: 2019-10-30T03:25:43.000Z (about 5 years ago)
- Default Branch: dev
- Last Pushed: 2024-07-28T13:37:54.000Z (5 months ago)
- Last Synced: 2024-10-29T17:38:19.991Z (about 1 month ago)
- Topics: alibabacloud, cloudspring, jetcache, microservice, microservices-architecture, nacos, nacos-spring-cloud, rbac, rocketmq, saas, spring-boot, spring-cloud, spring-cloud-alibaba, spring-security-oauth2, springboot-admin, springboot-springcloud, springcloud, springcloudalibaba, tenant, vue3
- Language: Java
- Homepage: http://www.mate.vip
- Size: 13.6 MB
- Stars: 1,541
- Watchers: 38
- Forks: 416
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mybatis-plus - MateCloud
- awesome-quick-dev - matecloud - square) (快速开发 / SpringCloud)
README
## 🍟 如果您觉得有帮助,请点右上角 "Star" 支持一下谢谢
MateCloud是一款基于Spring Cloud Alibaba的微服务架构。旨在为大家提供技术框架的基础能力的封装,减少开发工作,让您只关注业务。
## 🎨 系统演示
### 👉 单体版演示地址:https://demo.mate.vip/boot账号 | 密码| 项目地址
---|---|---
admin | matecloud| https://gitee.com/matevip/mateboot### 👉 微服务版演示地址:https://demo.mate.vip/cloud
账号 | 密码| 操作权限
---|---|---
admin | matecloud| mate-system模块不能执行增删改请求### 🍯 商业版:https://plus.mate.vip
管理员类型 | 账号| 密码 | 用途
---|---|---|---
超级管理员 | admin | matecloud123 | 超级用户
租户管理员 | tenant | matecloud123 | 此处模拟商城系统`注意`:租户管理员的菜单完全自定义,可用于扩展开发商城系统、CRM系统、OA系统等任意系统需求。
[商业版与开源版对比](https://doc.dabu.vip/vip/product/business/)
## 📌 版本演进
核心中间件 | 2.5.8及以下 | 当前:4.4.9+
---|---|---
Spring Boot | 2.3.*.RELEASE |
Spring Cloud | Hoxton SR* |
Spring Cloud Alibaba | 2.2.*.RELEASE |
Nacos | 1.4.*及以下 |
Sentinel | 1.8.1 |## 📖 官方文档
### 👉 文档:[http://doc.dabu.vip](http://doc.dabu.vip)## 👷 技术交流
👉 QQ群:2003638## 🍪 技术架构
## ❓ 部分截图
## 🔧 功能特点
- 主体框架:采用最新的`Spring Cloud 2021.0.8`, `Spring Boot 2.7.14`, `Spring Cloud Alibaba 2021.0.8.0`版本进行系统设计;- 统一注册:支持`Nacos`作为注册中心,实现多配置、分群组、分命名空间、多业务模块的注册和发现功能;
- 统一认证:统一`Oauth2`认证协议,采用jwt的方式,实现统一认证,并支持自定义grant_type实现手机号码登录,第三方登录集成JustAuth实现微信、支付宝等多种登录模式;
- 业务监控:利用`Spring Boot Admin`来监控各个独立Service的运行状态。
- 内部调用:集成了`Feign`和`Dubbo`两种模式支持内部调用,并且可以实现无缝切换,适合新老程序员,快速熟悉项目;
- 业务熔断:采用`Sentinel`实现业务熔断处理,避免服务之间出现雪崩;
- 身份注入:通过注解的方式,实现用户登录信息的快速注入;
- 在线文档:通过接入`Knife4j`,实现在线API文档的查看与调试;
- 代码生成:基于`Mybatis-plus-generator`自动生成代码,提升开发效率,生成模式不断优化中,暂不支持前端代码生成;
- 消息中心:集成消息中间件`RocketMQ`和`Kafka`,对业务进行异步处理;
- 业务分离:采用前后端分离的框架设计,前端采用`vue-element-admin`,商业版采用`antd-pro-vue`
- 链路追踪:自定义traceId的方式,实现简单的链路追踪功能- 多租户功能:集成`Mybatis Plus`,实现SAAS多租户功能
## 🗿 文件结构
```lua
matecloud -- 父项目,各模块分离,方便集成和微服务
│ ├─mate-core -- 核心通用模块,主模块
│ │ ├─mate-starter-common -- 封装通用模块
│ │ ├─mate-starter-cloud -- 封装微服务模块
│ │ ├─mate-starter-auth -- 封装token验证模块
│ │ ├─mate-starter-security -- 封装OAuth2基础模块
│ │ ├─mate-starter-web -- 封装WEB服务基础模块
│ │ ├─mate-starter-database -- 封装Mybatis及数据库基础模块
│ │ ├─mate-starter-dependencies -- 封装所有依赖模块,可作为父项目独立引用
│ │ ├─mate-starter-dubbo -- 封装dubbo基础模块
│ │ ├─mate-starter-feign -- 封装feign基础模块
│ │ ├─mate-starter-jetcache -- 封装JetCache阿里缓存基础模块
│ │ ├─mate-starter-rocketmq -- 封装RocketMQ基础模块
│ │ ├─mate-starter-gray -- 封装灰度发布基础模块
│ │ ├─mate-starter-elasticsearch -- 封装ElasticSearch模块
│ │ ├─mate-starter-oss -- 封装oss存储基础模块,支持阿里云、七牛云、minio等
│ │ ├─mate-starter-log -- 封装日志基础模块
│ │ ├─mate-starter-sharding -- 封装多数据库基础模块
│ │ ├─mate-starter-sms -- 封装短信基础模块
│ │ ├─mate-starter-mail -- 封装邮件模块
│ │ ├─mate-starter-kafka -- 封装kafka基础模块
│ │ ├─mate-starter-rule -- 封装黑名单基础模块
│ │ ├─mate-starter-idempotent -- 封装幂等基础模块
│ │ ├─mate-starter-lock -- 封装分布式锁基础模块
│ │ ├─mate-starter-encrypt -- 封装报文加密模块,支持AES和RSA
│ │ ├─mate-starter-mongodb -- 封装mongodb数据库模块
│ │ ├─mate-starter-strategy -- 封装策略模块
│ │ ├─mate-starter-job -- 封装定时任务基础模块
│ │ ├─mate-starter-validator -- 封装统一检验基础模块
│ │─mate-gateway -- 统一网关模块 [10001]
│ │─mate-uaa -- 统一认证中心模块 [20001]
│ │─mate-platform -- 平台模块项目,目前包含系统子模块
│ │ ├─mate-system-api -- 系统模块的通用模块,供其他模块引用
│ │ ├─mate-system -- 系统模块核心功能 [20002]
│ │ ├─mate-component-api -- 组件模块核心功能,供其他模块引用
│ │ ├─mate-component -- 组件模块核心功能 [20003]
│ │─mate-support -- 支持中心项目,目前包括代码生成、admin模块
│ │ ├─mate-code -- 封装代码生成逻辑 [30002]
│ │ ├─mate-admin -- 封装spring-boot-admin逻辑 [30001]
│ │ ├─mate-job -- xxl-jog定时任务模块
│ │ ├─mate-job-admin -- 定时任务管理平台模块
│ │─mate-mq -- 消息中心项目,支持kafka、RocketMQ等多种消息中间件
│ │ ├─mate-log-producer -- 日志消息生产者,集成kafka [40001]
│ │ ├─mate-message-consumer -- 消息服务消费者 [40002]
│ │ ├─mate-message-producer -- 消息服务生产者 [40003]
```
## 🎨 核心模块提交至中央仓库
如何引入依赖
```xml
vip.mate
mate-starter-dependencies
4.6.8
pom
import
```
然后在 dependencies 中添加自己所需使用的依赖即可使用。## 🔥 前端重大更新
前端采用`Vue 3.2.12`、`Vite 2.5.8`、 `Ant-Design-Vue 2.2.8`、`TypeScript` 的大型中后台解决方案。
### 👉 技术栈
- Vue 3.2.45
- Pinia 2.0.28
- Vue-i18n 9.1.8
- Ant-design-vue 2.2.6
- Axios 1.2.1
- Vue-router 4.3.8
- Vite 3.2.5
### 👉 版本发布
`4.6.8`版本已经发布,完善了系统管理的基础功能,主要包括菜单管理、用户管理、角色管理、部门管理、日志管理、客户端管理等功能。后续功能正在加紧开发中,欢迎体验。## 🌭 项目源码
| 项目 | GITHUB | 码云 |
|--- |--- | --- |
| MateCloud后端源码 | https://github.com/matevip/matecloud | https://gitee.com/matevip/matecloud |
| Artemis前端源码 | https://github.com/matevip/artemis | https://gitee.com/matevip/artemis |
| MateBoot后端源码 | https://github.com/matevip/mateboot | https://gitee.com/matevip/mateboot |## 🥥 微服务项目示例
- 🥥 [https://gitee.com/matevip/mate-demo](https://gitee.com/matevip/mate-demo)
## 🌭 Swagger2 - OpenAPI3
| Swagger2 | OpenAPI3 | 注解位置 |
| ---- | ---- |------------------------------|
| `@Api` | @Tag(name = "接口类描述") | Controller 类上 |
| `@ApiOperation` | @Operation(summary ="接口方法描述") | Controller 方法上 |
| `@ApiImplicitParam` | @Parameter(description="参数描述") | Controller 方法上 @Parameters 里 |
| `@ApiImplicitParams` | @Parameters | Controller 方法上 |
| `@ApiParam` | @Parameter(description="参数描述") | Controller 方法的参数上 |
| `@ApiIgnore` | @Parameter(hidden = true) 或 @Operation(hidden = true) 或 @Hidden | ---- |
| `@ApiModel` | @Schema | Entity类上 |
| `@ApiModelProperty` | @Schema | Entity属性上 |
## 🍻 贡献者名单
欢迎提交[PR](https://gitee.com/matevip/matecloud/pulls)一起完善项目,以下为开源项目贡献的战友(排名不分先后):@L.cm、@Z先生、@苏慕彦、@简、@madi、@yunfei08、[@hackerdom](https://github.com/aaronuu)
## ✨ 特别鸣谢
特别感谢卢神对`MateCloud`项目提供的技术支持!
- 卢春梦: [mica](https://gitee.com/596392912/mica)
- anncwb: [vue-vben-admin](https://github.com/anncwb/vue-vben-admin)
## 📚 开源项目推荐
- [SpringBoot脚手架](https://gitee.com/bdj/SpringBoot_v2)