# platform-plus
**Repository Path**: chenyongken/platform-plus
## Basic Information
- **Project Name**: platform-plus
- **Description**: 一个前后端分离的Java快速开发平台,基于SpringBoot2.1.2、Mybatis-Plus3.1.0、Activiti6、RabbitMQ、提供ELK日志分析解决方案。支持 Oracle、MySQL、DB2、Postgre、MariaDB、H2、HSQL、SQLite、SQLServer2005、SQLServer 等多种数据库。技术交流QQ群66502035(1群已满)、870579539(2群)、151602347(3群)
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://fly2you.cn/platform-plus/#/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 471
- **Created**: 2019-05-08
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 服务器推荐配置
### 服务器配置:
CPU:2核
内存:8G
实例规格:标准型S2机型
带宽:2M
价格:262 元/月 1768.5 元/年 4716 元/三年
[点我购买](https://cloud.tencent.com/redirect.php?redirect=1014&cps_key=30280f92fc381dfc9e1d9e0e23d25a18&from=console)
购买说明:如果业务量较大,推荐双机部署。
### MySQL高可用版配置:
CPU:1核
内存:1G
硬盘:100G
价格:174元/月 1733.04元/年 1879.20元/三年
[点我购买](https://cloud.tencent.com/redirect.php?redirect=10481&cps_key=30280f92fc381dfc9e1d9e0e23d25a18)
购买说明:腾讯云产品购买时长越大折扣就越大,所有推荐选择3年时长,可以达到3折优惠。
### COS资源包:
标准型存储容量:
100GB 1年 101元
200GB 1年 200元
下行流量:
100GB 3个月 43元
200GB 3个月 85元
500GB 3个月 213元
[点我购买](https://cloud.tencent.com/redirect.php?redirect=10165&cps_key=30280f92fc381dfc9e1d9e0e23d25a18)
购买说明:根据实际业务存储量购买,目前我的站点存储容量100G,下行流量100G,刚好够用!
#### 项目说明
- platform-plus是一个轻量级的,前后端分离的Java快速开发平台
- JavaDoc:https://apidoc.gitee.com/fuyang_lipengjun/platform-plus/
- 前端地址:https://gitee.com/fuyang_lipengjun/platform-plus-ui
#### 优势
- 严格遵循阿里编码规约开发,便于阅读及二次开发
- 支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库
- 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术
- 支持结合ELK实时日志分析系统,方便日志查询,问题排查,上线检查
- 灵活的权限控制,可控制到页面和按钮,满足绝大部分的权限需求
- 可在线生成vue、controller、entity、xml、dao、service、vue、sql代码,增删改查代码一键生成,减少80%以上的开发任务
- 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
- 引入API模板,根据token作为登录令牌,极大的方便了APP接口开发
- 引入Hibernate Validator校验框架,轻松实现后端校验
- 引入云存储服务,已支持:七牛云、阿里云、腾讯云、本地存储
- 自定义实现swagger文档支持,方便编写API接口文档
- 使用Mybatis拦截器实现数据权限,对代码侵入小
#### 技术选型:
```
- Spring Boot 2.1.0.RELEASE
- Apache Shiro 1.4.0
- Spring MVC 5.1.2
- MyBatis 3.5.0、MyBatis-Plus 3.1.0
- Quartz 2.3.0
- Druid 1.1.10
- lombok 1.18.4
- swagger 2.9.2
- jwt 0.9.1
- easypoi 4.0.0
```
#### 项目结构
```
platform-plus
├─sql 项目SQL语句
│
├─common 公共模块
│ ├─annotation 自定义注解
│ ├─aspect 系统日志、redis存储
│ ├─exception 异常处理
│ ├─interceptor 日志拦截器
│ ├─session 分布式session管理
│ ├─utils 工具类
│ ├─validator 后台校验
│ └─xss XSS过滤
│
├─config 配置信息
│
├─datascope 数据权限拦截器
│
├─datasources 多数据源
│
├─modules 功能模块
│ ├─act 工作流模块
│ ├─app API接口模块(APP调用)
│ ├─gen 代码生成模块
│ ├─job 定时任务模块
│ ├─mail 邮件服务模块
│ ├─oss 文件服务模块
│ ├─swaggerbootstrapui 自定义swagger文档模块
│ └─sys 权限模块
│
├─PlatformPlusApplication 项目启动类
│
├──resources
│ ├─gen 代码生成工具
│ ├─mapper SQL对应的XML文件
│ ├─processes 流程文件
│ └─static 自定义swagger文档
```
## 实现功能
```
- 系统管理
- 菜单管理
- 组织机构
- 系统参数
- 字典管理
- 文件上传
- 系统日志
- 权限管理
- 管理员列表
- 角色管理
- 短信平台
- 短信配置
- 任务调度
- 定时任务
- 工作流管理
- 流程操作
- 模型管理
- 开发工具
- 在线用户管理
- 缓存信息
- SQL监控
- 接口文档
- 代码生成器
- 邮件系统
- 发送记录
```
**项目演示**
- 演示地址:http://fly2you.cn/platform-plus/#/login
- 账号密码:
- admin/admin
- test/888888
- test1/888888
- test2/888888
- test3/888888
- test4/888888
- test5/888888
- test6/888888
- test7/888888
- test8/888888
- test9/888888
- test10/888888
**效果图:**
- ELK日志分析

- 流程操作

- 模型管理

- 流程编辑

- 菜单管理

- 字典管理

- 在线人数

- 缓存数据

- 接口文档

#### 后端部署
- 通过git下载源码
- 创建数据库plaftorm-plus
- mysql执行sql/mysql.sql文件(oracle执行sql/oracle.sql),初始化数据
- 修改application-dev.yml,修改MySQL、Oracle驱动、账号和密码
- Eclipse、IDEA运行PlatformPlusApplication.java,则可启动项目
- docker部署
```
# 在centos7 ~ 创建一个文件夹docker,里面放置Dockerfile 和 mvn 打包的项目platform-plus.jar
# 在该docker文件下 指令:
docker build -t docker .
# 运行 Docker Image
docker run -d -p 8888:8888 docker
```
- Swagger路径:http://localhost:8888/platform-plus/doc.html
#### 提交反馈
1. 欢迎提交 issue,请写清楚遇到问题的原因,开发环境,复显步骤。
2. 官方QQ群:
-
-
-
#### 常用API
- [Mybatis-Plus](https://baomidou.gitee.io/mybatis-plus-doc/#/quick-start)
- [Vue](https://cn.vuejs.org/v2/api/)
- [element-ui](http://element-cn.eleme.io/#/zh-CN/component/installation)
- [echarts](https://www.echartsjs.com/api.html#echarts)
- [iconfont](https://www.iconfont.cn/search/index)