GithubHelp home page GithubHelp logo

wangdingfeng / spark-platform Goto Github PK

View Code? Open in Web Editor NEW
81.0 6.0 54.0 12 MB

Spark 开发平台基于 Spring Cloud Hoxton 、Spring Boot 2.3、 OAuth2 、Security、Nacos、flowable、vue-element前后端分离的脚手架平台。平台包含系统管理(组织机构、角色用户、菜单及按钮授权、数据权限、文件管理、定时任务管理、日志管理),协同管理(待办、已办任务、流程设计、流程管理),代码生成器,分布式事务,完善的系统监控。功能模块采用插拔方式,方便根据自己的业务引入需要的模块。

Home Page: http://www.sparkplatform.cn/

License: Apache License 2.0

Java 12.95% Dockerfile 0.04% HTML 7.69% JavaScript 75.04% CSS 4.10% FreeMarker 0.19%
springboot2-x mybatis-plus springcloud oauth2 jwt flowable springbootadmin

spark-platform's Introduction

spark-platform V2.1

star github

作者这两年沉迷旅游、摄影,所以一直在停更......

SPARK-PLATFORM 开发平台 作者:polaris.wang

如果您喜欢,请伸出您的小手,给作者star一下,感谢您的支持 😄

Apache cloud版本 boot版本 https://img.shields.io/badge/Nacos-1.3-brightgreen https://img.shields.io/badge/Flowable-6.4.2-brightgreen https://img.shields.io/badge/Mybatis%20Plus-3.3.1-brightgreen

  • 基于 Spring Cloud、Spring Boot、 OAuth2 的RBAC权限管理系统
  • 基于vue-element-template,更简洁的页面,实现的前后端分离交互
  • 微服务和前后端分离架构,客户端和服务端纯Token交互,接口全部使用restful风格
  • 认证服务器与资源服务器分离,方便接入自己的微服务系统
  • 功能模块采用组件插拔方式,使用更简单整洁规范
  • 基于flowable的工作流系统,提供完善基于业务的流程系统
  • 提供配置自定义组件包注解。
  • 提供代码生成器、封装Mybatis plus 查询,提高开发效率
  • 提供微信商城小程序功能,此功能不在master分支展示

如果大家有什么建议或者问题,请在Issues中提交,希望大家一起让这个开源项目变的更好,我的本意是大家一起学习,所以此项目完全开源,完全免费。您的star和建议是作者维护这个项目的最大动力,感谢!

后续更新计划:由于作者精力有限,不会在提供业务代码的更新,会把所有的精力转移到里边的bug修改、底层技术和组件的研究。小程序将会在master分支移除,转移到shop分支,后续也不在提供维护。


2021-11-09 更新日志

  • 升级spring boot和 cloud版本,解决冲突。

  • 添加Sentinel 监控。

  • 对冗杂的jar包进行删除。

  • 优化配置


Spring Cloud版本升级的遇到的问题汇总:

  1. Spring Cloud Netflix 彻底删除掉了除Eureka外的所有组件。

    • 基于 Eureka Client 的 RestTemplate 已支持 TLS 属性
    • netflix组件替代方案
    Netflix 推荐替代品
    Hystrix Sentinel、Resilience4j
    Hystrix Dashboard / Turbine Micrometer + Monitoring System
    Ribbon Spring Cloud Loadbalancer
    Zuul Spring Cloud Gateway
    Archaius Spring Boot外部化配置 + Spring Cloud配置
  2. Bootstrap上下文默认不再启动:
    Spring Cloud容器是靠Bootstrap Context引导上下文来启动的,对应的类是BootstrapApplicationListener。
    解决方案:

    • 设置值spring.cloud.bootstrap.enabled=true或者 spring.config.use-legacy-processing=true即可。注意:这些个属性值必须确保其能放进环境里才能生效。比如靠谱的方式是:系统属性、环境变量、命令行等

    • 引入下边的jar包

        <!--bootstrap 启动器-->
         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-bootstrap</artifactId>
         </dependency>
      
  3. 移除了Spring Cloud Security:
    其主要代码已经移到了 Spring Cloud Commons下 引入JAR包实例

       <!--security-->
         <dependency>
             <groupId>org.springframework.security</groupId>
             <artifactId>spring-security-config</artifactId>
         </dependency>
         <!-- oauth-->
         <dependency>
             <groupId>org.springframework.security.oauth.boot</groupId>
             <artifactId>spring-security-oauth2-autoconfigure</artifactId>
         </dependency>
    
  4. Spring Cloud Openfeign

    • 支持在 Spring Cloud CircuitBreakers 中包装 feign 客户端;

    • Spring Cloud OpenFeign 安全部分的代码,从 Spring Cloud Security 移到了 Spring Cloud OpenFeign。

      引入JAR包修改:

      feign.hystrix.FallbackFactory 替换成 org.springframework.cloud.openfeign.FallbackFactory
      
  5. 增加了 LoadBalancer 统计功能; 添加JAR包:

      <!-- LB 统计 -->
      <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-loadbalancer</artifactId>
      </dependency>
    

文档地址 (补充中)

https://www.kancloud.cn/polaris_wang/spark/1762689

已实现功能

系统管理
用户管理 角色管理 角色管理 菜单管理 部门管理 字典管理 客户端管理
协同管理
代办事项 已办事项 流程设计 流程管理 实例管理
系统监控
系统日志 登陆日志 接口文档 Nacos Admin监控 数据库监控 Minio
扩展功能
微信凭证 行政区域 文件管理 定时任务 代码生成 表单例子

项目地址

平台 spark-platform(后端) spark-admin(前端)
GitHub https://github.com/wangdingfeng/spark-platform https://github.com/wangdingfeng/spark-admin
Gitee https://gitee.com/dreamfeng/spark-platform https://gitee.com/dreamfeng/spark-admin

小程序地址:https://gitee.com/dreamfeng/wx-spark-shop

演示地址

演示地址:http://www.sparkplatform.cn/ 暂停

备用演示地址: http://admin.xiapeiyi.com/ 不允许对里边的数据进行操作,感谢

演示环境工作流账号密码:

账号 密码 权限
admin 123456 除删除外所有的权限
zuzhang 123456 工作流权限
zhubian1 123456 工作流权限
zhubian2 123456 工作流权限

平台账号密码

平台 账号 密码
Admin监控 spark spark
数据库监控 spark spark
Nacos
Minio

版本说明

依赖 版本
Spring Boot 2.5.6
Spring Cloud 2020.0.4
Nacos 2.0.0
Flowable 6.4.2
Mybatis Plus 3.3.1
Spring Boot Admin 2.2.3

模块说明

spark-platform 
├── spark-auth -- 授权服务 oauth2
└── spark-common -- 系统公共模块 
     ├── spark-common-base -- 基本公共类
     ├── spark-common-config -- 公共配置类
     ├── spark-common-feigh -- 公共feigh类
     ├── spark-common-datasource -- 数据权限
     ├── spark-common-security -- 安全工具类
     └── spark-common-utils -- 工具类
     └── spark-common-log -- 日志记录
├── spark-gateway -- Spring Cloud Gateway网关
├── spark-eureka -- Spring Cloud eureka注册中心
├── spark-control -- Spring Boot Admin监控
└── spark-admin -- 通用用户权限管理模块
     └── spark-admin-api -- 通用用户权限管理系统公共api模块
     └── spark-admin-biz -- 通用用户权限管理系统业务处理模块
└── spark-flowable -- 通用工作流模块
     └── spark-flowable-api -- 通用工作流模块公共api模块
     └── spark-flowable-biz -- 通用工作流模块业务处理模块
├── spark-cms -- 内容管理平台模块
├── spark-tx-manager -- 分布式事务模块
├── spark-quartz -- 定时任务模块
└── spark-file -- 文件模块
     └── spark-file-api -- 文件模块公共api模块
     └── spark-file-biz -- 文件模块业务处理模块

注意:

  1. 流程测试:
  • 这里是列表文本使用admin 账号添加文章,发布,之后,角色是组长的都会接到待办消息。
  • 流程流转到主编审核,使用主编1和主编2审核,入口从待办任务中进入。
  • 系统判断节点为自动判断,逻辑为 主编审核节点只有当两个主编都审核通过,则为审核流程通过,如果其中有人拒绝,退回到发起人修改,也就是admin
  • 发起人admin重新修改数据 提交给组长角色审核,或者关闭当前的流程。
  1. 流程测试图 输入图片说明

平台截图 首页 用户管理 角色管理 菜单管理 部门管理 字典管理 客户端管理 文件管理 定时任务调度 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 nacos

** ❤️ 贡献**

后续开始招收志同道合的仙友一起致力于维护SPARK项目功能的开发和完善,有意愿的小伙伴请私信我。感谢大家的支持!

spark-platform's People

Contributors

wangdingfeng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

spark-platform's Issues

工作流cms问题的思路请教

大佬您好。麻烦大佬提供一下思路即可,自己没想通,非常感谢。如下:
背景:按照您给的文章审核工作流没有问题,流程通的,已经本地测试。
问题:如果更改了业务流程,

如情况1(在文章流程基础上进行改动和微调):
文章发布-组长审核-主编1-专家审核-结束,这种情况除了更改bpm20.xml那个设计图外还需要更改cms的代码?
如情况2(在文章流程的基础上进行删减,原流程主线条一致):
文章发布-组长审核-结束,这种情况除了更改bpm20.xml那个设计图外,代码是不需要更改的,直接可以用?还是也需要对应新的流程进行更改?
如情况3(完全不同文章审核流程):
财务审核-运营审核-经理审核-结束,这种情况除了更改bpm20.xml那个设计图外还需要更改cms的代码?

权限控制【bug】

现象:前端页面在使用admin用户登录查看多个功能模块后,在使用其它用户登录后,admin查看的模块仍然存在导航栏。最致命的是这些没有权限的功能模块仍然可以操作。

docker打包失败问题

idea通过连接tcp的docker打包。

失败错误如下:

Deploying 'spark-gateway Dockerfile: spark-gateway/Dockerfile'...
Building image...
Preparing build context archive...
[==================================================>]39/39 files
Done

Sending build context to Docker daemon...
[==================================================>] 51.83MB
Done

Step 1/6 : FROM java:8
 ---> d23bdf5b1b1b
Step 2/6 : VOLUME /tmp
 ---> Using cache
 ---> ce1de2bc7705
Step 3/6 : COPY target/spark-gateway-0.0.1-SNAPSHOT.jar spark-gateway.jar
Error response from daemon: COPY failed: stat /var/lib/docker/tmp/docker-builder005503988/target/spark-gateway-0.0.1-SNAPSHOT.jar: no such file or directory
Failed to deploy 'spark-gateway Dockerfile: spark-gateway/Dockerfile': Can't retrieve image ID from build stream

对应的dockefile

FROM java:8

VOLUME /tmp

COPY target/spark-gateway-0.0.1-SNAPSHOT.jar spark-gateway.jar

RUN bash -c "touch /spark-gateway.jar"

EXPOSE 8001

ENTRYPOINT ["java","-jar","spark-gateway.jar"]

项目变成SaaS服务模式架构问题和多租户问题

大佬您好:
背景是这样的:例如集团公司项目,需要独立,个人分公司需要独立的数据隔离;二者非物理数据库隔离;
问题:
1.请问在该项目的基础上如何进行多租户开发和思路?
2.未来大佬有多租户的计划吗?如多租户+分库分表等?

文章审核流程,待办无记录问题

bug:组长身份,待办无记录

重现:大佬,您好,下载例子中的文章审核流程图,流程图发布,admin发布文章,组长审核阶段,新创建一个组长用户或者使用zuzhang用户,待办无待审核的文章记录,请问是我操作不对还是bug
浏览器:谷歌,火狐

说明:请问操作上有无限制么,还是bug,感谢大佬指点。

IE兼容性问题,Vue官方是支持IE高版本的

大佬您好:
测试问题:IE兼容性问题
IE版本:IE11
现状:白屏,无登录页面,登录页面显示白屏
复现:www.sparkplaform.cn官网首页

解决方案:
Vue支持高版本的IE的哦,希望大佬修复bug,供参考。

IE在企业中还是有些用户的,尤其是一部分领导没安装现代浏览器。供参考哈。

请问是100%开源么?

clone spark- platform 和spark-admin 到本地,项目跑起来之后,登录接口/auth/oauth/token报404,后台代码也没找到相关接口,请问是代码没100%开源还是需要其他什么操作?

返回数据 【建议】

建议将返回数据做统一包装,不要指定返回数据结构确定为 ApiResponse,这样swagger上也更能使前端看到真正的数据格式,后台自己看的也更清楚明白。

项目占用内存过大,求指导

测试主机:win10
内存:16G
型号:Tinkpad T480

ide:
后端:idea 2019.1.3
前端:vscode 1.x.50.x (2020年10月11日最新版本)

bug或者待优化现象:
1.通过idea启动整个项目后(内存占81%)
2.启动vscode后,执行npm run dev 后打开谷歌浏览器,出现oom,内存不足,浏览器奔溃
3.修正或者编辑vscode中的代码时 vscode出现oom的错误。
截图见下方:

问题:
1) 请问大佬,这种情况属于代码的某一个小问题还是属于idea或者vscode设置不当?
纠结的地方是即使项目勉强跑起来了,一更改代码,系统卡死或者oom,浏览器无法使用,这种影响开发。同事们的电脑都是8G的。是不是该项目本身要求电脑的配置就需要很高,需要32G?
oom

2)请问大佬的开发机的配置?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.