Yudao Rapid Development Platform

repository·master·Indexed 41 days ago

https://github.com/yudaocode/yudao-boot-mini

A high-efficiency, open-source development platform for enterprise-grade systems. It offers a Full Version (ruoyi-vue-pro) with comprehensive business modules and a Mini Version (yudao-boot-mini) focused on System Management and Infrastructure. Built with Spring Boot, MySQL, MyBatis Plus, and Redis, it supports multiple JDK versions (8, 17/21, 25) and frontend frameworks including Vue 2, Vue 3, and uni-app.

Tokens
12.8K
Snippets
30
Records
51
Agent score
53%

What's inside Yudao

  1. Overview of Built-in Business Modules

    master

    The project provides a layered architecture of business functions that can be used to rapidly build business systems. The modules are categorized into:

    1. Mandatory Common Modules: System functions and Infrastructure.
    2. Optional Common Modules: Workflow (BPM), Payment systems, Data reporting, and Member centers.
    3. On-demand Business Systems: Specialized modules including Mall (E-commerce), OA (Office Automation), ERP (Enterprise Resource Planning), WMS (Warehouse Management), CRM (Customer Relationship Management), CMS (Content Management), MES (Manufacturing Execution), HRM (Human Resource Management), FMS (Financial Management), AI Large Model Platform, IoT (Internet of Things), IM (Instant Messaging), Mobile clients, and Report Data Screens.
  2. Overview of yudao-mall-uniapp

    master

    The yudao-mall-uniapp project is a mobile frontend application built on the uniapp framework. It is designed to support multiple deployment targets including WeChat Mini Programs, WeChat Official Accounts, and H5 mobile web. Future support is planned for Alipay Mini Programs and Douyin (TikTok) Mini Programs.

    The application supports SaaS multi-tenancy and provides comprehensive e-commerce capabilities, including:

    • Product management
    • Order processing
    • Payment integration
    • Member/Loyalty management
    • Coupon systems
    • Flash sales (秒杀)
    • Group buying (拼团)
    • Price cutting/Bargaining (砍价)
    • Distribution/Affiliate marketing (分销)
    • Points/Reward systems
  3. Platform Architecture and Technology Stack

    master

    Yudao is a developer-centric rapid development platform. Key technical characteristics include:

    • Backend: Spring Boot multi-module architecture, MySQL + MyBatis Plus, Redis + Redisson.
    • Database Support: MySQL, Oracle, PostgreSQL, SQL Server, MariaDB, Dameng (DM), TiDB.
    • Message Queues: Event, Redis, RabbitMQ, Kafka, RocketMQ.
    • Security: Spring Security & Token & Redis. Supports multi-terminal authentication, multiple user systems, and SSO (Single Sign-On).
    • Multi-tenancy: Supports SaaS multi-tenancy with customizable tenant permissions and transparent underlying encapsulation.
    • Workflow: Uses Flowable, supporting dynamic forms, online process design, signing (countersign/parallel), and various task assignment methods.
    • Real-time Communication: Spring WebSocket with built-in Token authentication and cluster support.
    • Frontend:
      • Desktop: Vue3 (element-plus or vben/ant-design-vue) and Vue2 (element-ui).
      • Mobile: uni-app (one codebase for APP, Mini-programs, and H5).
    • Code Generation: One-click generation of Java, Vue frontend code, SQL scripts, and API documentation (supports single table, tree table, and master-child table).
  4. Understand the Yudao-Boot-Mini Module Structure

    master

    The project is organized into several Maven modules that separate core framework logic, server implementation, and specific business domains.

    Core Modules:

    • yudao-dependencies: Manages Maven dependency versions.
    • yudao-framework: Provides Java framework extensions.
    • yudao-server: The main server implementation for both the Admin Backend and User APP.

    Business Domain Modules:

    • yudao-module-system: System functionalities.
    • yudao-module-member: Membership center.
    • yudao-module-infra: Infrastructure services.
    • yudao-module-bpm: Business Process Management (Workflow).
    • yudao-module-pay: Payment systems.
    • yudao-module-mall: E-commerce/Mall systems.
    • yudao-module-erp: ERP systems.
    • yudao-module-crm: CRM systems.
    • yudao-module-mes: Manufacturing Execution Systems.
    • yudao-module-wms: Warehouse Management Systems.
    • yudao-module-hrm: Human Resource Management.
    • yudao-module-fms: Financial Management Systems.
    • yudao-module-im: Instant Messaging.
    • yudao-module-ai: AI Large Model integration.
    • yudao-module-iot: Internet of Things.
    • yudao-module-mp: WeChat Official Account integration.
    • yudao-module-report: Big screen reporting/dashboards.
  5. Choose between Full Version and Mini Version

    master

    The Yudao ecosystem provides two main backend versions depending on your needs:

    1. Full Version (ruoyi-vue-pro): Includes all features such as System Management, Infrastructure, Member Center, Data Reporting, Workflow, Mall System, WeChat Official Account, CRM, ERP, WMS, MES, HRM, FMS, IM (Instant Messaging), AI Large Models, and IoT.
    2. Mini Version (yudao-boot-mini): A lightweight version containing only System Management and Infrastructure features. It excludes all business-specific modules like Mall, CRM, ERP, etc.

    You can migrate from the Full Version to the Mini Version in 5-10 minutes using the Migration Guide.

  6. Workflow (BPM) Engine Capabilities

    master

    The workflow engine is built on Flowable and provides two distinct design modes to balance simplicity and complexity:

    Design Modes

    • SIMPLE Designer: A lightweight, drag-and-drop interface (similar to DingTalk/Feishu) for quickly configuring approval processes in about 10 minutes.
    • BPMN Designer: A standard BPMN-compliant designer for complex business scenarios requiring deep orchestration and multi-level approvals.

    Key Workflow Features

    • Approval Logic: Supports Concurrence (all must agree), Or-signing (any one agrees), Sequential approval (A then B then C), and Delegation/Transfer (A to B, or A to B and back to A).
    • Process Control: Supports Rejection (return to initiator or any previous node), Withdrawal (initiator cancels), Termination (admin stops instance), and Adding/Reducing signers (Add-sign/Reduce-sign).
    • Advanced Branching: Includes Exclusive branches (decision-based), Parallel branches (all execute), Inclusive branches (conditional + parallel), and Routing branches.
    • Automation & Nodes: Trigger nodes (execute HTTP requests/callbacks, update/delete data), Delay nodes (wait for fixed duration or date), and Parent-Child processes (synchronous or asynchronous sub-processes).
    • Notifications & Permissions: Automatic reminders (SMS, Email, In-app), Timeout approvals (auto-pass/fail/reject), and Form permissions (read-only, edit, or hide per node).
  7. Build the project JAR files using Maven in Docker

    master

    Before running the services, you need to build the Java JAR files. This process uses a Docker container to run Maven, which avoids the need to install Maven locally and leverages a persistent volume for the Maven repository to speed up subsequent builds.

    1. Create a Maven cache volume: This ensures that downloaded dependencies are preserved across builds.
    2. Run the Maven build container: This mounts your current directory to the container and executes mvn clean install package while skipping tests.
    # 1. Create the maven cache volume
    docker volume create --name yudao-maven-repo
    
    # 2. Run the build process
    docker run -it --rm --name yudao-maven \
        -v yudao-maven-repo:/root/.m2 \
        -v $PWD:/usr/src/mymaven \
        -w /usr/src/mymaven \
        maven mvn clean install package '-Dmaven.test.skip=true'
  8. Select the correct branch for your JDK and Spring Boot version

    master

    The project supports multiple environments via different branches. Choose the branch that matches your required stack:

    EnvironmentBranch NameJDK VersionSpring Boot Version
    StandardmasterJDK 8Spring Boot 2.7
    Modernmaster-jdk17JDK 17/21Spring Boot 3.5
    Cutting Edgemaster-jdk25JDK 25Spring Boot 4.x

    Note: These branch patterns apply to both the Full (ruoyi-vue-pro) and Mini (yudao-boot-mini) versions.