You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jeecg-boot/README-EN.md

20 KiB

JEECG

JEECG BOOT Low Code Development Platform

Current version: 3.7.1 (Release date: 2024-09-12)

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

Project description
Project description
jeecg-boot SpringBoot background source code (support microservices)
jeecgboot-vue3 Vue3+TS new front-end source code
jeecg-uniapp APP development framework, a code multi terminal adaptation, and support APP, small program, H5

Download other 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.

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 flowable 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+ (17)

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

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

  • Dependency management: Maven

  • Cache: Redis

  • Database: MySQL5.7 + More Databases

backend

  • Basic framework: Spring Boot 2.7.18

  • Microservice framework: Spring Cloud Alibaba 2021.0.1.0

  • Persistence layer framework: MybatisPlus 3.5.3.2

  • Report tool: JimuReport 1.8.1

  • Security framework: Apache Shiro 1.12.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

  • TechnologyStackVue3.0+TypeScript+Vite+AntDesignVue+pinia+echarts

Front-end environment requirements

  • Node.js 、npm 、pnpm
  • Node.js Version suggestion: v20.15.0 ( Since Vite5 no longer supports EOL Node.js 14/16/17/19, Node.js 18/20 + is now required )

Support library

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

Microservice solutions

    1. Service registration and discovery Nacos √
    1. Nacos √
    1. Route gateway gateway(Three loading modes) √
    1. Distributed http feign √
    1. fuse degrade current limiting Sentinel √
    1. Distributed files Minio and Alioss √
    1. Unified permission control
    1. Service monitoring SpringBootAdmin√
    1. link tracking Skywalking reference document
    1. Messaging middleware RabbitMQ √
    1. Distributed task xxl-job √
    1. Distributed Transaction Seata
    1. Distributed log Loki+grafana
    1. Support docker-compose, k8s, jenkins
    1. CAS SSO √
    1. Route traffic limiting √

Microservice architecture diagram

微服务架构图

Jeecg Boot product functionality blueprint

功能蓝图

quick start

Effect of system

ChatGPT AI Dialog

Go to the JeecgBoot background home page and click "AI Assistant" in the middle of the right side of the home page. The AI Assistant dialog screen is displayed.

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 ☺