前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >致力将开源版打造成超越商业版后台管理框架的快速开发项目

致力将开源版打造成超越商业版后台管理框架的快速开发项目

作者头像
开源日记
发布2023-03-10 16:20:37
6210
发布2023-03-10 16:20:37
举报
文章被收录于专栏:JVMGC

🍈项目介绍

基于Spring Boot框架打造,针对单体式应用进行专门设计,提供整套服务模块,努力为打造全方位企业级开发解决方案, 致力将开源版打造成超越商业版后台管理框架的项目。

  • Spring Cloud版本使用Spring Cloud Alibaba技术栈
  • vue2使用 ANTD PRO VUE 作为脚手架
  • vue3使用 Vben-Admin 作为脚手架
  • 移动端使用 Taro vue3+TS为技术栈。

🍒文档

  • 系统演示地址:管理平台(vue2) 管理平台(vue3)
  • 前端项目地址:前端项目(vue2) 前端项目(vue3)
  • 移动端项目地址:移动端项目(taro+vue3+ts)
  • 日志收集:ELK PlumeLog
  • 项目文档:项目使用指南文档
  • 更新日志:更新日志

🛠️功能亮点

支持支付宝、微信、聚合支付、现金支付、储值卡支付、钱包,对各种支付方式抽象成策略类,通过模板模式进行串通,方便扩展新的支付方式或业务

结算台演示地址:http://web.platform.bootx.cn/cashier

集成最新版本的Flowable 6.7.2 工作流,并基于Bpmn.js定制流程设计器,相较于自带modeler更贴近业务和易用,通过关联动态表单可通过托拉拽实现业务审批流的业务

🍎特色功能

  • 支持单通道支付、聚合支付、组合支付、部分和全部退款等支付功能
  • 支持支付宝、微信、云闪付、现金、钱包、储值卡等多种支付方式
  • 支持对多终端、多登录方式进行分别的管理
  • 针对各类敏感信息,可以通过添加注解实现返回时自动脱敏
  • 针对重要信息,可以通过添加注解,实现在数据库中保密存储,配合数据脱敏使用可以更好的保护系统数据的安全
  • 支持多种范围的数据权限控制,如只能查看自己、只能查询指定部门、用户、可以查询全部的数据等等
  • 支持嵌套查询的超级查询构造器,自动生成对应条件SQL语句,也支持普通查询器,免去大量重复代码的编写
  • 提供移动端开发脚手架,方便开发H5与各种小程序
  • 支持通过ELK和轻量级PlumeLog来管理项目日志,以适应不同的场景
  • 支持通过微信、钉钉、企业微信等第三方开放平台进行扫码登录
  • 支持站内信、微信、钉钉、企业微信、微信公众号的消息推送
  • 支持微信自定义菜单、素材、消息模板等资源的管理
  • 集成Flowable+Bpmn.js工作流全家桶,方便OA相关功能的开发

🚅 路线图

  • 工作流功能完善
    • [x] 更灵活的节点用户配置,可配置发起人、指定用户、指定角色等,关联消息通知
    • [x] 会签处理、串签处理、或签处理、驳回处理、任意节点退回、会签比例通过处理
  • Vue3版本前端
    • [ ] 登录模块移植
    • [x] 认证终端移植
    • [ ] 组件移植和Mixin转换为Hooks、
  • Spring Cloud版本
    • [ ] 代码组织结构调整
    • [x] 网关定制开发
    • [ ] 功能模块移植

🥂 Quick Start

  • 下载项目并切换到master分支,或者下载发行版后导入IDEA中,下载对应的Maven依赖
  • 配置好各种必要的数据库中间件地址(见下方中间表),直接启动项目。注:不需要导入Sql脚本到数据库中,默认启用flyway会自动对数据库进行初始化
  • 如果使用_config/sql导入到数据库中的方式,则需要在项目启动前将spring.flyway.enabled设为false后启动项目,推荐使用flyway对数据库进行数据管理
  • 后端启动启动成功,开始启动前端
  • 安装依赖 yarn install,node版本需要12以上,推荐使用16
  • 启动前端 yarn serve,进行访问

中间件配置

备备注注组件

是否必须配置

备注

MySQL

不设置无法启动

Redis

不设置无法启动

RabbitMQ

支付消息通知在使用

MongoDB

默认审计日志和文件管理使用持久化方式为Mono,可在配置文件中配置切换成其他持久化方式

MQTT

plumelog

默认项目自带lite版plumelog,不需要额外配置中间件,直接就可以使用

🥞项目整体结构

代码语言:javascript
复制
bootx-platform 
    ├── _config -- 项目相关配置
    ├── _doc -- 项目文档
    ├── _license -- 使用外部项目对应开源协议
    ├── bootx-common-core -- 核心包
    ├── bootx-common-starters -- starter通用功能组件
       ├── common-starter-audit-log -- 审计日志模块
       ├── common-starter-auth -- 认证模块
       ├── common-starter-code-gen -- 代码生成模块
       ├── common-starter-data-perm -- 数据权限模块
       ├── common-starter-dingtalk -- 钉钉对接模块
       ├── common-starter-file -- 文件管理模块
       ├── common-starter-flowable -- flowable工作流模块
       ├── common-starter-monitor -- 系统监控模块
       ├── common-starter-quartz -- Quartz定时任务模块
       ├── common-starter-wechat -- 微信对接模块
       ├── common-starter-wecom -- 企业微信对接模块
    ├── bootx-commons -- commons工具配置封装
       ├── common-cache -- 缓存配置
       ├── common-exception-handler -- 异常处理器
       ├── common-header-holder -- 请求头获取工具
       ├── common-idempotency -- 幂等控制组件
       ├── common-jackson -- Json序列化配置
       ├── common-lock -- 分布式锁
       ├── common-log -- 日志配置
       ├── common-mongo -- MongoDB配置
       ├── common-mqtt -- mqtt配置(停用)
       ├── common-mybatis-plus -- Mybatis Plus扩展
       ├── common-rabbitmq -- rabbitmq消息队列
       ├── common-redis-client -- Redis客户端封装和配置
       ├── common-sequence -- 发号器(序列号生成器)
       ├── common-spring -- Spring相关配置
       ├── common-super-query -- 超级查询器
       ├── common-swagger -- swagger3配置(Spring Doc)
       ├── common-websocket  -- websocket封装
       ├── common-xxl-job -- XXL-JOB定时任务
    ├── bootx-demo -- demo示例模块
    ├── bootx-modules -- 业务系统(暂停)
       ├── eshop -- 网上商城(暂停)
    ├── bootx-services -- 业务服务模块
       ├── service-baseapi -- 基础api功能服务
       ├── service-goods -- 商品中心服务(停用)
       ├── service-iam -- 身份识别与访问管理
       ├── service-notice -- 消息通知服务
       ├── service-office -- 办公服务
       ├── service-order -- 订单服务(停用)
       ├── service-payment -- 支付服务
       ├── service-sales -- 销售中心(停用)
    ├── bootx-start -- 启动模块

🍇模块结构说明

模块分包设计

service-iam举例

代码语言:javascript
复制
service-iam 
    ├── code -- 常量包
    ├── controller -- 控制器
    ├── core -- 功能核心
    ├── exception -- 异常
    ├── dto -- 业务对象
    ├── mq -- 消息通知处理
    ├── task -- 定时任务
    ├── param -- 请求参数包
    ├── util -- 内部工具包
    ├── IamApplication -- 启动类

core核心包业务代码分包

代码语言:javascript
复制
├───code 
    ├── business -- 业务模块
        ├── convert -- 实体类转换
        ├── dao -- 持久化类
        ├── entity -- 数据库实体
        ├── service -- 服务类

🍌项目展示

Vue3版本管理端

支付结算台

工作流

微信自定义菜单

动态表单

邮件发送

超级查询器

富文本编辑器

PlumeLog 轻量级日志管理

ELK日志

菜单管理

更多功能广大网友可以继续挖掘。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🍒文档
  • 🛠️功能亮点
  • 🍎特色功能
  • 🚅 路线图
  • 🥂 Quick Start
  • 🥞项目整体结构
  • 🍇模块结构说明
  • 🍌项目展示
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档