2K Star 13.9K Fork 8.1K

JEECG / jeecg-boot

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README-EN.md

JEECG

JEECG BOOT Low Code Development Platform

The Latest Version: 3.5.1(Release date:2023-04-20)

AUR GitHub stars GitHub forks

Project introduction

Java Low Code Platform for Enterprise web applications

JeecgBoot is a low code development platform based on code generators! Front and back end separation architecture SpringBoot2.x, SpringCloud, Ant Design&Vue, Mybatis plus, Shiro, JWT, support for microservices. The powerful code generator makes the front and back end of the code generation, low code development! JeecgBoot leads a new low-code development paradigm (OnlineCoding-> Code Generator -> Manual MERGE) that helps resolve 70% of the duplication in Java projects and makes development more business-focused. Not only can quickly improve efficiency, save research and development costs, but also do not lose flexibility!

JeecgBoot provides a series of low code modules to make Online development truly zero code: Online form development, online reports, report configuration capabilities, online chart design, large screen design, mobile configuration capabilities, form designer, online design flow, process automation configuration, plug-in capabilities (pluggable) and more!

The purpose of JEECG is: simple functions are implemented by OnlineCoding configuration, so that zero code development; Complex functions are generated by code generator and manually Merge to achieve low code development, which ensures both intelligence and flexibility. The implementation of low code development and support flexible coding at the same time, to solve the current low code products are generally not flexible drawbacks!

JEECG Business process: Using workflow to implement and extend the task interface for developing and writing business logic, forms provides a variety of solutions: form designer, online configuration form, and coding form. At the same time, the separation design of process and form (loose coupling) is realized, and the flexible configuration of task nodes is supported, which not only ensures the confidentiality of the company's process, but also reduces the workload of developers.

Technical support

Problems or bugs in use can be found in Making on the Issues

Official Support: http://jeecg.com/doc/help

Download the source code

Project description
Project description
jeecg-boot SpringBoot background source code (support microservices)
jeecgboot-vue3 Vue3+TS new front-end source code
ant-design-vue-jeecg Vue2 version front-end source code
jeecg-uniapp APP development framework, a code multi terminal adaptation, and support APP, small program, H5
jeecg-boot-starter Stater relies on the project to be maintained separately. Click Download
More Download more source code

For the project

Jeecg-Boot low code development platform can be applied in the development of any J2EE project, especially for SAAS projects, enterprise information management system (MIS), internal office system (OA), enterprise resource planning system (ERP), customer relationship management system (CRM), etc. Its semi-intelligent manual Merge development method, Can significantly improve the development efficiency of more than 70%, greatly reduce the development cost.

Docker starts the project

Technical documentation

Star charts

Star History Chart

Background directory Structure

project structure
├─jeecg-boot-parent
│  ├─jeecg-boot-base-core
│  ├─jeecg-module-demo    
│  ├─jeecg-module-system 
│  │  ├─jeecg-system-biz   
│  │  ├─jeecg-system-start system (8080)
│  │  ├─jeecg-system-api   
│  │  │  ├─jeecg-system-cloud-api  
│  │  │  ├─jeecg-system-local-api   
│  ├─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        -- (9080)
        ├─jeecg-cloud-sentinel     --sentinel (9000)
        ├─jeecg-cloud-test           
           ├─jeecg-cloud-test-more        
           ├─jeecg-cloud-test-rabbitmq     
           ├─jeecg-cloud-test-seata         
           ├─jeecg-cloud-test-shardingsphere    

Why JeecgBoot?

  • Adopt the latest mainstream front and back separation framework (Springboot+Mybatis+antd), easy to use; Code generator has low dependency, flexible expansion ability, and can quickly realize secondary development;
  • Support microservices SpringCloud Alibaba(Nacos, Gateway, Sentinel, Skywalking), and provide switching mechanism to support free switching between single and microservices
  • High development efficiency, using code generator, single table, tree list, one-to-many, one-to-one and other data models, add, delete, change and search function one-key generation, menu configuration directly use;
  • Code generator provides powerful template mechanism, support custom template, currently provide four sets of style template (single table two sets, tree model one set, one to many three sets)
  • Code generator is very intelligent, online business modeling, online configuration, WYSIWYG support 23 kinds of controls, a key to generate front and back end code, greatly improve the development efficiency, no longer worry about repeated work.
  • Low code ability: Online online form (without coding, through online configuration of the form, to achieve the addition, deletion, change and check of the form, support single table, tree, one-to-many, one-to-one model, to achieve everyone can code)
  • Low code ability: Online online report (without coding, through online configuration, to achieve data report, can quickly extract data, reduce development pressure, to achieve everyone can code)
  • Low code ability: Online online chart (without coding, through online configuration, to achieve graphs, bar graphs, data reports, etc., support custom layout, to achieve everyone can code)
  • Complete encapsulation of user, role, menu, organization, data dictionary, online scheduled tasks and other basic functions, support access authorization, button permission, data permission and other functions
  • Commonly used common package, various tools (scheduled task, SMS interface, email sending,Excel import and export, etc.), basically meeting 80% of project requirements
  • Easy Excel import and export, support single table export and one-to-many table mode export, generated code with import and export function
  • Integrated simple report tools, image report and data export is very convenient, can be extremely convenient to generate graphical reports, pdf, excel, word and other reports;
  • Before and after the separation technology, the page UI style is exquisite, for the commonly used components to do the encapsulation: time, row table control, interception display control, report component, editor and so on
  • Query filter: query function automatically generated, the background dynamic spell SQL additional query conditions; Supports multiple matching modes (full matching, fuzzy query, included query, and unmatched query).
  • Data permission (fine data permission control, control to row level, list level, form field level, realize different people see different data, different people operate different fields on the same page
  • Page verification automatically generated (must be input, digital verification, amount verification, time and space, etc.);
  • Support SAAS service model and provide SaaS multi-tenant architecture solution.
  • Distributed file service, integration of minio, Ali OSS and other excellent third parties, to provide convenient file upload and management, but also support local storage.
  • Mainstream database compatibility, a set of code is fully compatible with Mysql, Postgresql, Oracle, Sqlserver, MariaDB, dream and other mainstream databases.
  • Integrate workflow activiti and realize only the configuration of flow direction in the page, which can greatly simplify the development of bpm workflow; Using bpm's process designer to draw the flow direction, a workflow is basically complete with a small amount of java code;
  • Low code ability: online process design, using open source Activiti process engine, to achieve online drawing process, custom form, form attachment, business flow
  • Multi-data source: its simple way of use, online configuration of data source configuration, convenient to grab data from other data;
  • Provide single sign-on CAS integration solution, and complete docking code has been provided in the project
  • Low code ability: form designer, support user custom form layout, support single table, one to many forms, support select, radio, checkbox, textarea, date, popup, list, macro and other controls
  • Professional interface docking mechanism, unified using restful interface, integrated swagger-ui online interface documentation, Jwt token security verification, convenient client docking
  • Interface security mechanism, can be refined control interface authorization, very simple to realize different clients only see their own data control
  • Advanced combination query function, online configuration support primary and sub-table associated query, can save the query history
  • Provide a variety of system monitoring, real-time tracking system running conditions (monitoring Redis, Tomcat, jvm, server information, request tracking, SQL monitoring)
  • Message center (support SMS, email, wechat push, etc.)
  • Integrate Websocket message notification mechanism
  • Excellent mobile adaptive effect, providing APP release scheme:
  • Support multiple languages and provide internationalization solutions;
  • Data change record log, can record each change of data content, through the version comparison function to view historical changes
  • The platform UI is powerful and mobile adaptation is implemented
  • Platform home page style, provide a variety of combination mode, support custom style
  • Provide easy to use print plug-in, support Google, Firefox, IE11+ and other browsers
  • Rich sample code, provide a lot of learning case reference
  • Using maven module development method
  • Support dynamic menu routing
  • RBAC (Role-Based Access Control) is used for permission control.
  • Provide new row edit table JVXETable, easily meet a variety of complex ERP layout, with higher performance, more flexible extension, more powerful functions

Technical Architecture:

Development Environment

  • Language: Java 8+ (less than 17)

  • IDE(JAVA) : IDEA (lombok plug-in must be installed)

  • IDE(front-end) : Vscode, WebStorm, IDEA

  • Dependency management: Maven

  • Cache: Redis

  • Database: MySQL5.7 + & Oracle 11 g & Sqlserver2017 More Databases

backend

  • Basic framework: Spring Boot 2.6.14

  • Microservice framework: Spring Cloud Alibaba 2021.0.1.0

  • Persistence layer framework: MybatisPlus 3.5.1

  • Report tool: JimuReport 1.5.8

  • Security framework: Apache Shiro 1.10.0, Jwt 3.11.0

  • Microservice technology stack: Spring Cloud Alibaba, Nacos, Gateway, Sentinel, Skywalking

  • Database connection pool: Alibaba Druid 1.1.22

  • Log printing: logback

  • Others: autopoi, fastjson, poi, Swagger-ui, quartz, lombok (simplified code), etc.

The front end

  • Vue2 version:Vue2.6+@vue/cli+AntDesignVue+Viser-vue+Vuex detail
  • Vue3 version:Vue3.0+TypeScript+Vite+AntDesignVue+pinia+echarts detail

Support library

database support
MySQL
Oracle11g
Sqlserver2017
PostgreSQL
MariaDB
达梦、人大金仓

Microservice solutions

  1. Service registration and discovery Nacos √

  2. Nacos √

  3. Route gateway gateway(Three loading modes) √

  4. Distributed http feign √

  5. fuse degrade current limiting Sentinel √

  6. Distributed files Minio and Alioss √

  7. Unified permission control

  8. Service monitoring SpringBootAdmin√

  9. link tracking Skywalking reference document

  10. Messaging middleware RabbitMQ √

  11. Distributed task xxl-job √

  12. Distributed Transaction Seata

  13. Distributed log elk + kafka

  14. Support docker-compose, k8s, jenkins

  15. CAS SSO √

  16. Route traffic limiting √

Microservice architecture diagram

微服务架构图

Jeecg Boot product functionality blueprint

功能蓝图

Function module

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

Effect of system

PC

输入图片说明

输入图片说明

输入图片说明

输入图片说明

interactive

process Designer

输入图片说明

输入图片说明

输入图片说明

min process

dashboard Designer

report Designer

form Designer

bigscreen Designer

uniapp

low app

app

PAD

chart

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

swagger

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

donation

If so, buy the author a cup of coffee ☺

About

🔥「企业级低代码平台」前后端分离架构SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领新的开发模式OnlineCoding->代码生成->手工MERGE,帮助Java项目解决70%重复工作,让开发更关注业务,既能快速提高效率,帮助公司节省成本,同时又不失灵活性。 expand collapse
Cancel

jeecg-boot

Contributors

All

Activities

Load More
can not load any more
Java
1
https://gitee.com/jeecg/jeecg-boot.git
git@gitee.com:jeecg/jeecg-boot.git
jeecg
jeecg-boot
jeecg-boot
master

Search

10d9f8b4 4838521 8bde8327 4838521