Skip to content

Latest commit

 

History

History
489 lines (359 loc) · 22.5 KB

README.md

File metadata and controls

489 lines (359 loc) · 22.5 KB

JeecgBoot 低代码开发平台

当前最新版本: 3.7.2(发布日期:2024-12-12)

AUR GitHub stars GitHub forks

项目介绍

Java Low Code Platform for Enterprise web applications

JeecgBoot 是一款基于代码生成器的低代码开发平台!前后端分离架构 SpringBoot2.x和3.x,SpringCloud,Ant Design Vue3,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot集成AI模型能力,引领新的低代码开发模式(OnlineCoding-> 代码生成器-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性!

JeecgBoot 提供了一系列低代码模块,实现在线开发真正的零代码:Online表单开发、Online报表、报表配置能力、在线图表设计、仪表盘设计、大屏设计、移动配置能力、表单设计器、在线设计流程、流程自动化配置、插件能力(可插拔)等等!

JEECG宗旨是: 简单功能由OnlineCoding配置实现,做到零代码开发;复杂功能由代码生成器生成进行手工Merge 实现低代码开发,既保证了智能又兼顾灵活;实现了低代码开发的同时又支持灵活编码,解决了当前低代码产品普遍不灵活的弊端!

JEECG业务流程: 采用工作流来实现、扩展出任务接口,供开发编写业务逻辑,表单提供多种解决方案: 表单设计器、online配置表单、编码表单。同时实现了流程与表单的分离设计(松耦合)、并支持任务节点灵活配置,既保证了公司流程的保密性,又减少了开发人员的工作量。

适用项目

Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中,支持信创国产化(默认适配达梦和人大金仓)。尤其适合SAAS项目、企业信息管理系统(MIS)、内部办公系统(OA)、企业资源计划系统(ERP)、客户关系管理系统(CRM)等,其半智能手工Merge的开发方式,可以显著提高开发效率70%以上,极大降低开发成本。

项目说明

项目名 说明
jeecg-boot 后端源码JAVA(SpringBoot微服务架构)
jeecgboot-vue3 前端源码VUE3(vue3+vite5+ts最新技术栈)
jeecg-uniapp 配套APP框架 适配多个终端,支持APP、小程序、H5

开源协议说明

JeecgBoot开源版本,底层完全开源可以自主开发,遵循Apache2.0协议,详细见 https://github.com/jeecgboot/JeecgBoot#Apache-2.0-1-ov-file

开源协议中文释意如下:

  • 1.JeecgBoot开源版本无任何限制,在遵循本开源协议条款下,允许商用使用,不会造成侵权行为。
  • 2.允许基于本平台软件开展业务系统开发。
  • 3.在任何情况下,您不得使用本软件开发可能被认为与本软件竞争的软件。
  • 4.针对企业用户我们也提供“企业级版本”,详细见 https://jeecg.com/vip

技术文档

启动项目

技术架构:

后端

  • IDE建议: IDEA (必须安装lombok插件 )
  • 语言:Java 8+ (支持17)
  • 依赖管理:Maven
  • 基础框架:Spring Boot 2.7.18
  • 微服务框架: Spring Cloud Alibaba 2021.0.1.0
  • 持久层框架:MybatisPlus 3.5.3.2
  • 报表工具: JimuReport 1.9.1
  • 安全框架:Apache Shiro 1.12.0,Jwt 3.11.0
  • 微服务技术栈:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking
  • 数据库连接池:阿里巴巴Druid 1.1.22
  • 日志打印:logback
  • 缓存:Redis
  • 其他:autopoi, fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。
  • 默认数据库脚本:MySQL5.7+
  • 其他数据库,需要自己转

前端

  • 前端IDE建议:WebStorm、Vscode
  • 采用 Vue3.0+TypeScript+Vite5+Ant-Design-Vue等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能
  • 最新技术栈:Vue3.0 + TypeScript + Vite5 + ant-design-vue4 + pinia + echarts + unocss + vxe-table + qiankun + es6
  • 依赖管理:node、npm、pnpm

前端环境要求

  • 本地环境安装 Node.js 、npm 、pnpm
  • Node.js 版本建议v20.15.0,要求Node 20+ 版本以上

( 因为Vite5 不再支持已 EOL 的 Node.js 14 / 16 / 17 / 19,现在需要 Node.js 18 / 20+ )

支持库

数据库 支持
MySQL
Oracle11g
Sqlserver2017
PostgreSQL
MariaDB
MariaDB
达梦
人大金仓
TiDB

微服务解决方案

  • 1、服务注册和发现 Nacos √
  • 2、统一配置中心 Nacos √
  • 3、路由网关 gateway(三种加载方式) √
  • 4、分布式 http feign √
  • 5、熔断降级限流 Sentinel √
  • 6、分布式文件 Minio、阿里OSS √
  • 7、统一权限控制 JWT + Shiro √
  • 8、服务监控 SpringBootAdmin√
  • 9、链路跟踪 Skywalking 参考文档
  • 10、消息中间件 RabbitMQ √
  • 11、分布式任务 xxl-job √
  • 12、分布式事务 Seata
  • 13、轻量分布式日志 Loki+grafana套件
  • 14、支持 docker-compose、k8s、jenkins
  • 15、CAS 单点登录 √
  • 16、路由限流 √

微服务方式启动

微服务架构图

微服务架构图

为什么选择JeecgBoot?

  • 1.采用最新主流前后分离框架(Springboot+Mybatis+antd+vue3),容易上手; 代码生成器依赖性低,灵活的扩展能力,可快速实现二次开发;
  • 2.支持微服务SpringCloud Alibaba(Nacos、Gateway、Sentinel、Skywalking),提供切换机制支持单体和微服务自由切换
  • 3.开发效率高,采用代码生成器,单表、树列表、一对多、一对一等数据模型,增删改查功能一键生成,菜单配置直接使用;引入AI能力,支持自动建表等功能;
  • 4.代码生成器提供强大模板机制,支持自定义模板,目前提供四套风格模板(单表两套、树模型一套、一对多三套)
  • 5.代码生成器非常智能,在线业务建模、在线配置、所见即所得支持23种类控件,一键生成前后端代码,大幅度提升开发效率,不再为重复工作发愁。
  • 6.低代码能力:Online在线表单(无需编码,通过在线配置表单,实现表单的增删改查,支持单表、树、一对多、一对一等模型,实现人人皆可编码)
  • 7.低代码能力:Online在线报表(无需编码,通过在线配置方式,实现数据报表,可以快速抽取数据,减轻开发压力,实现人人皆可编码)
  • 8.低代码能力:Online在线图表(无需编码,通过在线配置方式,实现曲线图,柱状图,数据报表等,支持自定义排版布局,实现人人皆可编码)
  • 9.封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能,支持访问授权、按钮权限、数据权限等功能
  • 10.常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel导入导出等),基本满足80%项目需求
  • 11.简易Excel导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能
  • 12.集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成图形报表、pdf、excel、word等报表;
  • 13.采用前后分离技术,页面UI风格精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件,编辑器等等
  • 14.查询过滤器:查询功能自动生成,后台动态拼SQL追加查询条件;支持多种匹配方式(全匹配/模糊查询/包含查询/不匹配查询);
  • 15.数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段
  • 16.页面校验自动生成(必须输入、数字校验、金额校验、时间空间等);
  • 17.支持SAAS服务模式,提供SaaS多租户架构方案。
  • 18.分布式文件服务,集成minio、阿里OSS等优秀的第三方,提供便捷的文件上传与管理,同时也支持本地存储。
  • 19.主流数据库兼容,一套代码完全兼容Mysql、Postgresql、Oracle、Sqlserver、MariaDB、达梦、人大金仓等主流数据库。
  • 20.集成工作流flowable,并实现了只需在页面配置流程转向,可极大的简化bpm工作流的开发;用bpm的流程设计器画出了流程走向,一个工作流基本就完成了,只需写很少量的java代码;
  • 21.低代码能力:在线流程设计,采用开源flowable流程引擎,实现在线画流程,自定义表单,表单挂靠,业务流转
  • 22.多数据源:及其简易的使用方式,在线配置数据源配置,便捷的从其他数据抓取数据;
  • 23.提供单点登录CAS集成方案,项目中已经提供完善的对接代码
  • 24.低代码能力:表单设计器,支持用户自定义表单布局,支持单表,一对多表单、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件
  • 25.专业接口对接机制,统一采用restful接口方式,集成swagger-ui在线接口文档,Jwt token安全验证,方便客户端对接
  • 26.接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制
  • 27.高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史
  • 28.提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、jvm、服务器信息、请求追踪、SQL监控)
  • 29.消息中心(支持短信、邮件、微信推送等等)
  • 30.集成Websocket消息通知机制
  • 31.移动自适应效果优秀,提供APP发布方案:
  • 32.支持多语言,提供国际化方案;
  • 33.数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化
  • 34.平台UI强大,实现了移动自适应
  • 35.平台首页风格,提供多种组合模式,支持自定义风格
  • 36.提供简单易用的打印插件,支持谷歌、火狐、IE11+ 等各种浏览器
  • 37.示例代码丰富,提供很多学习案例参考
  • 38.采用maven分模块开发方式
  • 39.支持菜单动态路由
  • 40.权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制)
  • 41.提供新行编辑表格JVXETable,轻松满足各种复杂ERP布局,拥有更高的性能、更灵活的扩展、更强大的功能
  • 42.提供仪表盘设计器,类大屏设计支持移动端,免费的数据可视化设计工具,支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表和门户设计;目前支持多种图表类型:柱形图、折线图、散点图、饼图、环形图、面积图、漏斗图、进度图、仪表盘、雷达图、地图等等;

Jeecg Boot 产品功能蓝图

功能蓝图

分支说明

主干master更稳定,如果你对最新技术栈无要求,建议采用主干

springboot3分支

springboot3_sas分支

功能模块

├─Online在线开发(低代码)
│  ├─Online在线表单
│  ├─Online代码生成器
│  ├─Online在线报表
│  ├─仪表盘设计器
│  ├─AI助手
│  ├─系统编码规则
│  ├─系统校验规则
├─积木报表设计器
│  ├─打印设计器
│  ├─数据报表设计
│  ├─图形报表设计(支持echart)
├─系统管理
│  ├─用户管理
│  ├─角色管理
│  ├─菜单管理
│  ├─权限设置(支持按钮权限、数据权限)
│  ├─表单权限(控制字段禁用、隐藏)
│  ├─部门管理
│  ├─我的部门(二级管理员)
│  └─字典管理
│  └─分类字典
│  └─系统公告
│  └─职务管理
│  └─通讯录
│  ├─多数据源管理
│  └─多租户管理(租户管理、租户角色、我的租户)
├─消息中心
│  ├─消息管理
│  ├─模板管理
├─代码生成器(低代码)
│  ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音)
│  ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择)
│  ├─代码生成器模板(生成代码,自带excel导入导出)
│  ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成)
│  ├─高级查询器(弹窗自动组合查询条件)
│  ├─Excel导入导出工具集成(支持单表,一对多 导入导出)
│  ├─平台移动自适应支持
├─系统监控
│  ├─Gateway路由网关
│  ├─性能扫描监控
│  │  ├─监控 Redis
│  │  ├─Tomcat
│  │  ├─jvm
│  │  ├─服务器信息
│  │  ├─请求追踪
│  │  ├─磁盘监控
│  ├─定时任务
│  ├─系统日志
│  ├─消息中心(支持短信、邮件、微信推送等等)
│  ├─数据日志(记录数据快照,可对比快照,查看数据变更情况)
│  ├─系统通知
│  ├─SQL监控
│  ├─swagger-ui(在线接口文档)
│─报表示例
│  ├─曲线图
│  └─饼状图
│  └─柱状图
│  └─折线图
│  └─面积图
│  └─雷达图
│  └─仪表图
│  └─进度条
│  └─排名列表
│  └─等等
│─大屏模板
│  ├─作战指挥中心大屏
│  └─物流服务中心大屏
│─常用示例
│  ├─自定义组件
│  ├─对象存储(对接阿里云)
│  ├─JVXETable示例(各种复杂ERP布局示例)
│  ├─单表模型例子
│  └─一对多模型例子
│  └─打印例子
│  └─一对多TAB例子
│  └─内嵌table例子
│  └─常用选择组件
│  └─异步树table
│  └─接口模拟测试
│  └─表格合计示例
│  └─异步树列表示例
│  └─一对多JEditable
│  └─JEditable组件示例
│  └─图片拖拽排序
│  └─图片翻页
│  └─图片预览
│  └─PDF预览
│  └─分屏功能
│─封装通用组件	
│  ├─行编辑表格JEditableTable
│  └─省略显示组件
│  └─时间控件
│  └─高级查询
│  └─用户选择组件
│  └─报表组件封装
│  └─字典组件
│  └─下拉多选组件
│  └─选人组件
│  └─选部门组件
│  └─通过部门选人组件
│  └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单)
│  └─在线code编辑器
│  └─上传文件组件
│  └─验证码组件
│  └─树列表组件
│  └─表单禁用组件
│  └─等等
│─更多页面模板
│  ├─各种高级表单
│  ├─各种列表效果
│  └─结果页面
│  └─异常页面
│  └─个人页面
├─高级功能
│  ├─提供单点登录CAS集成方案
│  ├─提供APP发布方案
│  ├─集成Websocket消息通知机制
│─更多商业功能
│  ├─流程设计器
│  ├─表单设计器
│  ├─大屏设计器
│  └─我的任务
│  └─历史流程
│  └─历史流程
│  └─流程实例管理
│  └─流程监听管理
│  └─流程表达式
│  └─我发起的流程
│  └─我的抄送
│  └─流程委派、抄送、跳转
│  └─OA办公组件
│  └─。。。
   

系统效果

PC端

输入图片说明

输入图片说明

输入图片说明

输入图片说明

系统交互

AI助手

仪表盘设计器

报表设计器

手机端

PAD端

图表示例

输入图片说明 输入图片说明 输入图片说明 输入图片说明

在线接口文档

输入图片说明 输入图片说明

UNIAPP效果

大屏设计器

流程设计

输入图片说明

输入图片说明

输入图片说明

表单设计器

捐赠

如果觉得还不错,请作者喝杯咖啡吧 ☺