前言
平时做项目,最头疼的不是业务逻辑本身,而是重复造轮子。用户管理、权限控制、菜单配置这些基础功能,每个项目都要来一遍,费时费力不说,还容易出问题。
芋道这个项目就是奔着解决这个痛点去的。它把一套完整的企业级后台系统的基础设施都搭好了,代码全开源,个人和公司都能免费用。本文把这套东西从头到尾捋一遍,从能干什么、怎么干的,到具体效果什么样,都聊清楚。如果大家正在选型快速开发平台,或者想找个靠谱的项目参考,可以往下看看。
项目介绍
芋道是一款基于 Java 的快速开发平台,主打“以开发者为中心,打造中国第一流的快速开发平台”,全部开源,个人与企业可 100% 免费使用。后端有 Spring Boot 和 Spring Cloud 两个版本,前端提供了 Vue2 和 Vue3 多套 UI 实现。
项目代码整洁、架构清晰,严格遵循《阿里巴巴 Java 开发手册》,注释覆盖率高。不仅包含用户、角色、菜单、部门等系统基础功能,还内置了工作流、支付、商城、ERP、CRM、WMS、MES、AI 大模型、IoT 物联网、IM 即时通讯等大量业务模块,开箱即用。
项目功能
功能模块 | 具体能力 |
系统功能 | 用户管理、角色管理、菜单管理、部门管理、岗位管理、字典管理、租户管理、操作日志、登录日志 |
工作流程 | BPMN设计器、仿钉钉流程设计器、会签/或签、驳回/转办/委派、加签/减签、父子流程、条件分支、超时审批 |
支付系统 | 支付宝/微信支付接入、支付订单、退款订单、回调通知 |
商城系统 | 完整的电商功能模块 |
基础设施 | 代码生成器、定时任务、文件服务(支持多种云存储)、WebSocket、API日志、消息队列、链路追踪 |
会员中心 | 会员管理、会员等级、会员标签、积分签到 |
CRM | 客户管理、商机管理、合同管理等 |
ERP | 采购、销售、库存、财务等企业资源计划功能 |
WMS | 仓库管理、入库出库、库存盘点 |
MES | 制造执行系统相关功能 |
AI大模型 | 集成AI能力 |
IoT物联网 | 设备接入与管理 |
IM即时通讯 | 私聊、群聊、消息推送 |
微信公众号 | 账号配置、粉丝管理、菜单自定义、自动回复、素材管理 |
数据报表 | 报表设计器、大屏设计器、拖拽生成图表 |
项目覆盖从通用基础到具体业务的全链条,可根据实际需求按需引入对应模块。
项目特点
双版本可选:提供 Spring Boot 单体架构和 Spring Cloud 微服务架构两套后端,适合不同规模的项目
多前端适配:管理后台有 Vue2 + element-ui、Vue3 + element-plus、Vue3 + vben(ant-design-vue) 三套 UI,移动端采用 uni-app 一份代码多端运行
模块化按需引入:完整版包含全部业务功能,精简版仅保留系统功能和基础设施,可参考迁移文档 5-10 分钟完成裁剪
多数据库支持:支持 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、达梦、TiDB 等,适配国产化需求
工作流双设计器:同时提供仿钉钉/飞书的简易流程设计器和 BPMN 标准设计器,简单流程快速配置,复杂场景深度编排
内置大量业务模块:不光有基础框架,商城、ERP、CRM、WMS、MES、IM、AI、IoT 等业务系统直接可用,不用从头开发
代码注释详细:113770 行 Java 代码,42462 行注释,阅读理解成本低
单元测试覆盖:核心功能都有单元测试保障,改代码心里有底
MIT 协议:比 Apache 2.0 更宽松,无需保留作者版权信息
项目技术
技术分类 | 技术选型 | 版本 | 用途 |
微服务框架 | Spring Cloud Alibaba | 2021.0.4.0 | 微服务架构基础 |
注册/配置中心 | Nacos | 2.3.2 | 服务注册发现、配置管理 |
服务网关 | Spring Cloud Gateway | 3.4.1 | 路由转发、统一鉴权 |
服务保障 | Sentinel | 1.8.6 | 流量控制、熔断降级 |
分布式事务 | Seata | 1.6.1 | 跨服务数据一致性 |
消息队列 | RocketMQ | 5.2.0 | 异步处理、削峰填谷 |
定时任务 | XXL-Job | 2.3.1 | 分布式任务调度 |
工作流引擎 | Flowable | 6.8.0 | 流程定义与执行 |
ORM | MyBatis Plus | 3.5.7 | 数据库操作增强 |
多数据源 | Dynamic Datasource | 4.3.1 | 动态切换数据源 |
缓存 | Redis + Redisson | 5.0+ / 3.32.0 | 缓存、分布式锁 |
安全框架 | Spring Security | 5.7.5 | 认证授权 |
API文档 | Knife4j | 4.5.0 | Swagger 增强界面 |
链路追踪 | SkyWalking | 8.12.0 | 分布式系统监控 |
对象存储 | MinIO、阿里云OSS等 | - | 文件存储 |
前端框架 | Vue3/Vue2 + element-ui/element-plus/ant-design-vue | - | 管理后台界面 |
移动端 | uni-app | - | 多端小程序/APP/H5 |
单元测试 | JUnit + Mockito | 5.8.2 / 4.8.0 | 测试保障 |
项目效果
演示地址
Vue3 + element-plus 版本:http://dashboard-vue3.yudao.iocoder.cn
Vue3 + vben(ant-design-vue) 版本:http://dashboard-vben.yudao.iocoder.cn
Vue2 + element-ui 版本:http://dashboard.yudao.iocoder.cn
效果预览
登录和首页:登录页支持账号密码、手机号等多种方式,首页展示常用功能入口和数据看板,导航菜单按权限动态加载。
用户与权限管理:用户管理支持增删改查、重置密码、分配角色;角色管理可配置菜单权限和数据权限;菜单管理树形结构编辑,实时生效。
工作流程:提供两种流程设计器。仿钉钉设计器拖拽即可完成简单审批流程配置;BPMN 设计器支持复杂的条件分支、并行网关、父子流程等。流程发起后在"我的流程"中跟踪进度,审批人在待办任务列表里处理,支持会签、或签、驳回、转办、加签等操作。
代码生成器:配置好数据库表,一键生成 Java 后端代码、Vue 前端页面、SQL 脚本和接口文档。单表、树表、主子表三种模式都支持,生成后直接拷贝到项目中就能用。
定时任务:在线管理任务,支持 Cron 表达式配置,可查看执行日志,失败自动重试。
支付系统:配置支付宝或微信的商户信息后,可查看支付订单和退款订单,回调通知记录完整,方便排查支付问题。
监控功能:Spring Boot Admin 展示应用健康状态,SkyWalking 实现链路追踪和日志中心,Druid 监控 SQL 执行情况,Redis 监控展示 Key 使用统计。
移动端:采用 uni-app 实现,一套代码生成微信小程序、支付宝小程序、APP、H5。目前已实现登录、个人资料修改、工作台等基础功能。
项目源码
启动文档:https://cloud.iocoder.cn/quick-start/
视频教程:https://cloud.iocoder.cn/video/
版本说明
版本 | JDK + Spring Boot | 分支 |
yudao-cloud 完整版 | JDK 8 + Spring Boot 2.7 | master |
yudao-cloud 完整版 | JDK 17/21 + Spring Boot 3.2 | master-jdk17 |
yudao-cloud-mini 精简版 | JDK 8 + Spring Boot 2.7 | master |
yudao-cloud-mini 精简版 | JDK 17/21 + Spring Boot 3.2 | master-jdk17 |
完整版:系统功能、基础设施、会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP、WMS、MES、IM 即时通讯、AI 大模型、IoT 物联网等功能全包含。
精简版:只包含系统功能和基础设施,不包括上述业务模块。从完整版迁移到精简版大约需要 5-10 分钟,有官方迁移文档可参考。
后端项目
项目 | 说明 |
ruoyi-vue-pro | Spring Boot 多模块架构 |
yudao-cloud | Spring Cloud 微服务架构 |
Spring-Boot-Labs | Spring Boot & Cloud 学习专栏 |
前端项目
项目 | 说明 |
yudao-ui-admin-vue3 | Vue3 + element-plus 管理后台 |
yudao-ui-admin-vben | Vue3 + vben(ant-design-vue) 管理后台 |
yudao-ui-admin-vue2 | Vue2 + element-ui 管理后台 |
yudao-mall-uniapp | uni-app 商城小程序 |
yudao-ui-admin-uniapp | uni-app 管理后台移动端 |
yudao-ui-go-view | Vue3 + naive-ui 大屏报表 |
所有项目代码托管在 Gitee 和 GitHub,搜索对应项目名即可找到。
总结
芋道这个项目,把企业级后台开发里那些绕不开的活儿都做了。用户权限、工作流、支付对接、代码生成——这些每个项目都得搞一遍的东西,它都封装好了,而且做得挺扎实。
双版本的设计很实用:小项目用 Spring Boot 单体,大项目上 Spring Cloud 微服务,不用后期重构。前端三套 UI 覆盖了主流技术栈,按团队习惯选就行。最实在的还是那堆业务模块——商城、ERP、CRM、WMS、MES、IM、AI、IoT,虽然不是每个项目都用得上,但真到要用的时候,不用从零开始写,省下的时间不是一点半点。
代码质量方面,注释详细、规范统一,读起来不费劲。单元测试覆盖到位,改代码不会心慌。MIT 协议更是干脆,没有各种限制,拿来就能用。
如果正在做一个企业级后台项目,或者想找个完整的 Java + Vue 全栈项目来参考,芋道值得花时间看看。演示地址、文档、视频教程都摆在那里,上手没什么门槛。
关键词
芋道、快速开发平台、Spring Cloud Alibaba、Spring Boot、Vue3、工作流、Flowable、代码生成器、SaaS多租户、支付对接、商城系统,ERP、CRM、WMS、MES、IM即时通讯、AI大模型、IoT物联网、微信公众号
作者:小码编匠
出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!
方便大家交流、资源共享和共同成长
纯技术交流群、需要的小伙伴请扫码
有收获?不妨分享让更多人受益
关注「程序员开源栈」,共同提升技术实力