[Open-source] Dedicated to making the open-source version surpass the commercial version backend management framework for rapid development project
![[Open-source] Dedicated to making the open-source version surpass the commercial version backend management framework for rapid development project](https://yy123.ink/api/img/1782585471608-n3hkzz.jpg)
1. Project Overview
Built on the Spring Boot framework, specifically designed for monolithic applications, providing a complete set of service modules, striving to create a comprehensive enterprise-level development solution, and committed to making the open-source version surpass the commercial version's backend management framework.
- Spring Cloud version uses Spring Cloud Alibaba technology stack
- vue2 uses ANTD PRO VUE as the scaffolding
- vue3 uses Vben-Admin as the scaffolding
- Mobile end uses Taro vue3+TS as the technology stack.
2. Open Source License
Licensed under Apache-2.0
3. Screenshots
Project Showcase
Vue3 version management end

Payment Settlement Platform

Workflow

WeChat Custom Menu

Dynamic Form

Email Sending

Super Queryer

Rich text editor

PlumeLog Lightweight Log Management

ELK Log

Menu Management

4. Feature Overview
Including payment collection (Alipay, WeChat, aggregation, combination payment), workflow (Flowable), three-party connection (WeChat, DingTalk, Enterprise WeChat, SMS) and other modules, the backend is based on Spring Boot and Spring Cloud, and the frontend is based on Vue2 and Vue3 respectively, which can be applied to different business scenarios, and the goal is to achieve the target of making the application scaffolding comparable to commercial versions.
Function Highlights
Support Alipay, WeChat, aggregation payment, cash payment, stored value card payment, wallet, abstract various payment methods into strategy classes, and implement them through template patterns, making it easy to extend new payment methods or businesses

Integrate the latest version of Flowable 6.7.2 workflow, and customize the process designer based on Bpmn.js, which is more close to business and easy to use, and can implement business approval flows through dynamic forms and drag-and-drop

Characteristic Functions
- Support single-channel payment, aggregation payment, combination payment, partial and full refunds, and other payment functions
- Support multiple payment methods, including Alipay, WeChat, cloud flash payment, cash, wallet, stored value card, and so on
- Support separate management of multiple terminals and multiple login methods
- For various sensitive information, you can add annotations to automatically de-sensitize them when returning
- For important information, you can add annotations to store them securely in the database, and combine with data de-sensitization to better protect system data security
- Support multiple levels of data permission control, such as only viewing oneself, only querying a specified department, user, or querying all data
- Support super query constructor with nested queries, automatically generating corresponding condition SQL statements, and also supporting ordinary queryers, eliminating the need to write a large amount of repeated code
- Provide a mobile end development scaffolding, making it easy to develop H5 and various small programs
- Support managing project logs through ELK and lightweight PlumeLog, adapting to different scenarios
- Support scanning login through WeChat, DingTalk, Enterprise WeChat, and other third-party open platforms
- Support internal mail, WeChat, DingTalk, Enterprise WeChat, and WeChat public number message push
- Support managing WeChat custom menus, materials, and message templates
- Integrate Flowable+Bpmn.js workflow whole set, making it easy to develop OA-related functions
Route Map
- Work Flow Function Complete
- More flexible node user configuration, can configure initiator, specify user, specify role, etc., associated message notification
- Concurrent processing, sequential processing, or processing, rejection processing, return to any node, concurrent ratio processing
- Vue3 version front-end
Login module transplantation- Authentication terminal transplantation
Component transplantation and Mixin conversion to Hooks,- Spring Cloud version
Code organization structure adjustment- Gateway customized development
Function module transplantation
5. Tech Stack
Development environment
Basic development environment
●JDK: 1.8+
●Maven: 3.5+
●MySql: 5.7+
●Redis: 5.x +
●Node Js: 12.0 +
●Npm: 5.6.0+
●Yarn: 1.22.1+
●MongoDB
●RabbitMQ
●MQTT Service(emqx)
MySQL
● Default character set: utf8mb4
● Default collation: utf8mb4_general_ci
● Case sensitivity: needs to be enabled case-insensitive settings
Quick Start
- Download the project and switch to the master branch, or download the release package and import it into IDEA, download the corresponding Maven dependency
- Configure various necessary database middleware addresses (see below intermediate table), start the project directly. Note: No need to import SQL script into the database, default enabledflywayThe database will be initialized automatically
- If using_config/sqlImported into the database in the way, then need to setspring.flyway.enabledBefore starting the project, set tofalseRecommended usingflywayFor database management
- Start the back-end successfully, start the front-end
- Install dependencies yarn installNode version needs to be 12 above, recommended using 16
- Start the front-end yarn servePerform access
Middleware configuration
Note: Remarks
Whether it is necessary to configure
Remarks
MySQL
Yes
Not set, cannot start
Redis
Yes
Not set, cannot start
RabbitMQ
No
Payment message notification when using
MongoDB
No
Default audit log and file management using persistent way as Mono, can be configured to switch to other persistent way in the configuration file
MQTT
No
plumelog
Yes
Default project comes with lite version plumelog, no need to configure middleware, can use directly
Overall project structure
bootx-platform
├── _config -- Project related configuration
├── _doc -- Project documents
├── _license -- Open source agreement corresponding to external projects
├── bootx-common-core -- Core package
├── bootx-common-starters -- Starter common functional components
├── common-starter-audit-log -- Audit log module
├── common-starter-auth -- Authentication module
├── common-starter-code-gen -- Code generation module
├── common-starter-data-perm -- Data permission module
├── common-starter-dingtalk -- DingTalk interface module
├── common-starter-file -- File management module
├── common-starter-flowable -- Flowable workflow module
├── common-starter-monitor -- System monitoring module
├── common-starter-quartz -- Quartz scheduling module
├── common-starter-wechat -- WeChat interface module
├── common-starter-wecom -- Enterprise WeChat interface module
├── bootx-commons -- Commons tool configuration encapsulation
├── common-cache -- Cache configuration
├── common-exception-handler -- Exception handler
├── common-header-holder -- Request header retrieval tool
├── common-idempotency -- Idempotence control component
├── common-jackson -- Json serialization configuration
├── common-lock -- Distributed lock
├── common-log -- Log configuration
├── common-mongo -- MongoDB configuration
├── common-mqtt -- Mqtt configuration (disabled)
├── common-mybatis-plus -- Mybatis Plus extension
├── common-rabbitmq -- RabbitMQ message queue
├── common-redis-client -- Redis client encapsulation and configuration
├── common-sequence -- Sequence generator (sequence number generator)
├── common-spring -- Spring related configuration
├── common-super-query -- Super queryer
├── common-swagger -- Swagger3 configuration (Spring Doc)
├── common-websocket -- WebSocket encapsulation
├── common-xxl-job -- XXL-JOB scheduling
├── bootx-demo -- Demo example module
├── bootx-modules -- Business system (paused)
├── eshop -- Online shopping (paused)
├── bootx-services -- Business service module
├── service-baseapi -- Basic api function service
├── service-goods -- Goods center service (disabled)
├── service-iam -- Identity recognition and access management
├── service-notice -- Message notification service
├── service-office -- Office service
├── service-order -- Order service (disabled)
├── service-payment -- Payment service
├── service-sales -- Sales center (disabled)
├── bootx-start -- Startup module
Module Structure Explanation
Module Split Design
For example, download theservice-iamExample
service-iam
├── code -- Constant Package
├── controller -- Controller
├── core -- Functional Core
├── exception -- Exception
├── dto -- Business Object
├── mq -- Message Notification Processing
├── task -- Scheduled Task
├── param -- Request Parameter Package
├── util -- Internal Tool Package
├── IamApplication -- Startup Class
core Core Package Business Code Split
├───code
├── business -- Business Module
├── convert -- Entity Class Conversion
├── dao -- Persistence Class
├── entity -- Database Entity
├── service -- Service Class