开源|一款前后端分离设计的企业级快速开发平台,支持单体服务与微服务之间灵活切换
前言
当前软件开发面临诸多挑战,诸如开发效率低下、重复工作多、维护成-本高等问题,这些问题在一定程度上阻碍了项目的进展。针对这些痛点,我们迫切需要一款既能提升开发效率又能降低维护成-本的处理方案。由此,一款基于前后端分离设计的企业级快速开发平台应运而生,它不仅支持单体服务与微服务之间的灵活切换,还能帮助开发者节省大量重复劳动,让他们能够更加专注于业务逻辑本身。
这是一款专为企业打造的快速开发平台,它采用了先进的技术栈,包括Spring Boot 2.x、Spring Cloud、Spring Security、MyBatis Plus、Vue等。该平台不仅提供了丰富的基础功能,如用户管理、角色管理、菜单管理等,还支持单体服务与微服务之间的灵活转换。此外,平台还集成了在线代码生成器、cao作日志记录、查询过滤器、数据权限控制等功能,旨在帮助企业大幅降低开发成-本。
技术栈
用到的一些技术框架
模块说明
- jjche-boot-ui -- 前端
- jjche-boot-server -- 单体启动入口
- jjche-cloud-server -- 微服务启动入口
- jjche-cloud-nacos -- 注册中心
- jjche-cloud-gateway -- 网关服务
- jjche-cloud-system -- 系统服务
- jjche-cloud-bpm -- 工作流服务
- jjche-cloud-demo -- 示例服务
- jjche-cloud-file -- 文件服务
- jjche-cloud-monitor -- 监控服务
- jjche-cloud-sentinel -- Sentinel流控熔断
- jjche-cloud-xxljob -- 分布式定时服务
- jjche-boot-modules -- 业务模块
- jjche-boot-module-system -- 系统模块
- jjche-boot-module-bpm -- 工作流模块
- jjche-boot-module-file -- 文件模块
- jjche-boot-module-demo -- 示例模块
- jjche-boot-framework -- 框架
- jjche-boot-common -- 通用
- jjche-boot-starters -- 基础组件
- jjche-boot-cache-starter -- 缓存
- jjche-boot-cat-starter -- CAT监控
- jjche-boot-core-starter -- 核心
- jjche-boot-filter-starter -- 安-全过滤器
- jjche-boot-flowable-starter -- 工作流
- jjche-boot-log-starter -- 日志
- jjche-boot-minio-starter -- Minio存储
- jjche-boot-mybatis-starter -- Mybatis定义
- jjche-boot-sba-starter -- Spring-Boot-Admin增强
- jjche-boot-security-starter -- 安-全
- jjche-boot-sentinel-dashboard-starter -- Sentinel控制台
- jjche-boot-serialize-starter -- 序列化
- jjche-boot-shardingsphere-starter -- 分库分表
- jjche-boot-starter -- 组件集成
- jjche-boot-swagger-starter -- API文档
- jjche-boot-system-api-starter -- 系统核心接口定义
- jjche-boot-userdetail-starter -- 默认安-全认证定义
- jjche-boot-xxl-job-starter -- Xxljob客户端
- jjche-cloud-starters -- 微服务组件
- jjche-cloud-gray-starter -- 灰度发布
- jjche-cloud-starter -- 微服务组件集成
- jjche-cloud-system-api-starter -- 系统核心接口定义
部署方式
准备工作
开发环境
- JDK:1.8 11
- MySQL:5.7+
- Maven:3.6+
- Redis:5.0+
- NodeJS:16+
- NPM:8.X
ali IDE
- 后端:IntelliJ IDEA
- 前端:WebStorm
IDE插件
- Lombok Plugin(必装)
前端
cd jjche-boot-ui
# 安装 pnpm,提升依赖的安装速度
npm config set registry https://registry.npmjs.org
npm install -g pnpm@8.15.7
# 安装依赖
pnpm install
# 启动服务
npm run dev
后端
# 编译项目
mvn clean install package '-Dmaven.test.skip=true'
运行前设置环境变量
启动完成后,浏览器会自动打开 localhost:8013
,可以看到前端界面。用户名:admin,密码:123456。
开源协议
该项目遵循Apache License Version 2.0开源协议,适用于商业用途。
即刻体验一波
该软件的一些功能展示,结合图文展示,丰富内容。
1. 基础功能
用户、角色、菜单、部门、岗位管理
数据字典、任务调度、工作流
版本管理
2. 微服务
支持单体服务与微服务之间的灵活切换
实现灰度发布、流量控制、熔断降级
3. 在线代码生成器
自动生成前后端代码,简化开发流程
4. cao作日志
记录并追踪数据修改历史
5. 查询过滤器
动态SQL拼装
6. 数据权限
包括菜单级、按钮级、数据行级、字段级权限控制
7. 字段验证
- 使用注解验证机制,确保数据准确性
8. 文件服务
支持本地、FTP、Minio、OSS等多种存储方式
9. 数据库
- 支持读写分离、分库分表
10. 接口定义
- 统一RESTful风格,集成文档工具
11. 系统监控
- 在线用户、cao作日志、JVM、SQL、应用状态监控
12. 权限控制
- 基于角色的访问控制
13. 对外接口安-全
- 保障接口数据传输的安-全性
14. 账号/密码策略
- 强化账户安-全措施
15. 工具类
- 集成Hutool、短信、email 发送等功能
16. 前端CRUD组件
- 实现分页查询、新增、修改、删除等cao作
17. 数据库版本控制
- 使用Liquibase管理SQL脚本
18. 开发规范
- 遵循ali 开发规范
19. 实践
- 提供详细的部署文档
结语
该开发平台以其强大的功能和灵活的服务架构,极大地提高了开发效率,降低了维护成-本,使得开发者可以专注于业务逻辑的实现。
如果你正在寻找一款既能满足当前需求又能适应未来发展的开发平台,那么它无疑是一个值得考虑的选择。
源码:https://github.com/miaoyinjun/jjche-boot
文档:https://www.yuque.com/miaoyj/nsln4r