2024-06-24 15:13:48 +08:00

11 KiB
Raw Blame History

JeecgBoot 低代码开发平台

当前最新版本: 3.7.0_all发布日期2024-06-23

AUR GitHub stars GitHub forks

项目介绍

Java Low Code Platform for Enterprise web applications

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

项目说明

项目名 说明
jeecg-boot 后端源码JAVASpringBoot微服务架构
jeecgboot-vue3 前端源码VUE3vue3+vite5+ts最新技术栈

技术文档

演示系统的登录账号密码,请点击 获取账号密码 获取

启动项目

命令和IDE启动
Docker启动
微服务启动

技术架构:

后端

  • 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.7.6
  • 安全框架Apache Shiro 1.12.0Jwt 3.11.0
  • 微服务技术栈Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking
  • 数据库连接池阿里巴巴Druid 1.1.22
  • 日志打印logback
  • 缓存Redis
  • 其他autopoi, fastjsonpoiSwagger-uiquartz, lombok简化代码等。
  • 默认数据库脚本MySQL5.7+
  • 其他数据库,需要自己转

前端

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

支持库

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

微服务解决方案

  • 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、分布式日志 elk + kafka
  • 14、支持 docker-compose、k8s、jenkins
  • 15、CAS 单点登录 √
  • 16、路由限流 √

后台目录结构

项目结构
├─jeecg-boot-parent父POM 项目依赖、modules组织
│  ├─jeecg-boot-base-core共通模块 工具类、config、权限、查询过滤器、注解等
│  ├─jeecg-module-demo    示例代码
│  ├─jeecg-module-system  System系统管理目录
│  │  ├─jeecg-system-biz    System系统管理权限等功能
│  │  ├─jeecg-system-start  System单体启动项目(8080
│  │  ├─jeecg-system-api    System系统管理模块对外api
│  │  │  ├─jeecg-system-cloud-api   System模块对外提供的微服务接口
│  │  │  ├─jeecg-system-local-api   System模块对外提供的单体接口
│  ├─jeecg-server-cloud           --微服务模块
     ├─jeecg-cloud-gateway       --微服务网关模块(9999)
     ├─jeecg-cloud-nacos       --Nacos服务模块(8848)
     ├─jeecg-system-cloud-start  --System微服务启动项目(7001)
     ├─jeecg-demo-cloud-start    --Demo微服务启动项目(7002)
     ├─jeecg-visual
        ├─jeecg-cloud-monitor       --微服务监控模块 (9111)
        ├─jeecg-cloud-xxljob        --微服务xxljob定时任务服务端 (9080)
        ├─jeecg-cloud-sentinel     --sentinel服务端 (9000)
        ├─jeecg-cloud-test           -- 微服务测试示例(各种例子)
           ├─jeecg-cloud-test-more         -- 微服务测试示例feign、熔断降级、xxljob、分布式锁
           ├─jeecg-cloud-test-rabbitmq     -- 微服务测试示例rabbitmq
           ├─jeecg-cloud-test-seata          -- 微服务测试示例seata分布式事务
           ├─jeecg-cloud-test-shardingsphere    -- 微服务测试示例(分库分表)

微服务架构图

微服务架构图

功能模块

├─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办公组件
│  └─。。。