Skip to content

开放企业应用平台,整合各种开源项目作为企业应用快速开发的基础框架。 本次改版以芋道开源 Yudao(ruoyi-vue-pro)为基础改版,整合OBPM、MSP、Jeecg等开源项目的部分模块,支持IM和基于AI的企业知识库。 OpenEAP前后端分离,采用后端Spring boot 2.x单体多模块,前端vue2+element-UI 主流路线,支持灵活升级到SpringCloud。

License

Notifications You must be signed in to change notification settings

eaopen/eap-boot

Repository files navigation

EAP Boot 项目

License Java Spring Boot Maven

项目简介

EAP Boot 是一个基于 Spring Boot 3.x 的企业级应用开发脚手架(yudao二次开发),提供了完整的后端解决方案。 项目采用模块化设计,支持单体应用和微服务架构,为企业级应用开发提供了坚实的基础。

核心特性

  • 🚀 现代化技术栈:基于 Spring Boot 3.5 + Java 17
  • 🏗️ 模块化架构:清晰的模块划分,易于维护和扩展
  • 🔐 完整的权限系统:用户、角色、权限管理
  • 📊 基础设施支持:定时任务、代码生成、接口文档等
  • 🌐 微服务支持:支持 Spring Cloud Gateway 网关
  • 🐳 容器化部署:提供 Docker 部署方案
  • 📝 丰富的文档:完整的开发和部署文档

技术栈

后端技术

  • 核心框架:Spring Boot 3.5
  • 数据访问:MyBatis Plus
  • 安全框架:Spring Security
  • 缓存:Redis
  • 消息队列:RabbitMQ
  • 数据库:MySQL、PostgreSQL、Oracle 等
  • 构建工具:Maven 3.6+
  • Java版本:JDK 17

微服务技术

  • 服务网关:Spring Cloud Gateway
  • 服务注册:Nacos
  • 配置中心:Nacos Config
  • 负载均衡:Spring Cloud LoadBalancer

项目结构

eap-boot-pom/
├── eap-server/                 # 主服务模块(单体应用)
├── eap-gateway/               # API网关模块(微服务)
├── eap-module-system/         # 系统管理模块
│   ├── eap-module-system-api/     # 系统API接口
│   ├── eap-module-system-biz/     # 系统业务逻辑
│   └── eap-module-system-rest/    # 系统REST接口
├── eap-module-infra/          # 基础设施模块
│   ├── eap-module-infra-api/      # 基础设施API
│   ├── eap-module-infra-biz/      # 基础设施业务
│   └── eap-module-infra-rest/     # 基础设施REST接口
├── eap-ui/                    # 前端项目
├── doc/                       # 项目文档
├── script/                    # 部署脚本
│   ├── docker/                    # Docker相关脚本
│   ├── sql/                       # 数据库脚本
│   └── shell/                     # Shell脚本
└── nacos/                     # Nacos配置

快速开始

环境要求

  • JDK 17+
  • Maven 3.6+
  • MySQL 8.0+ / PostgreSQL 12+
  • Redis 6.0+
  • Node.js 16+ (前端开发)

本地开发

  1. 克隆项目
git clone https://github.com/eaopen/openea-eap.git
cd openea-eap
  1. 数据库初始化
# 执行数据库脚本
mysql -u root -p < script/sql/mysql/schema.sql
  1. 配置修改
# 修改数据库连接配置
vim eap-server/src/main/resources/application-dev.yml
  1. 启动应用
# 单体应用启动
mvn clean install
cd eap-server
mvn spring-boot:run

# 微服务启动(需要先启动Nacos)
mvn clean install -P cloud
cd eap-gateway
mvn spring-boot:run
  1. 访问应用

Docker 部署

  1. 构建镜像
# 构建服务镜像
./script/docker/build-image-server.sh

# 或使用开发环境构建
./script/docker/build-image-server-dev.sh
  1. 启动服务
cd script/docker/eap
docker-compose up -d

模块说明

eap-server

主服务模块,单体应用的入口点。集成了所有业务模块,提供完整的 RESTful API。

eap-gateway

API网关模块,基于 Spring Cloud Gateway 实现。提供路由转发、负载均衡、限流等功能。

eap-module-system

系统管理模块,包含:

  • 用户管理
  • 角色权限
  • 菜单管理
  • 部门管理
  • 数据字典
  • 国际化支持

eap-module-infra

基础设施模块,包含:

  • 定时任务管理
  • 代码生成器
  • 接口文档
  • 系统监控
  • 文件管理

开发指南

代码规范

  • 遵循阿里巴巴Java开发手册
  • 使用 Lombok 简化代码
  • 统一的异常处理
  • 完善的日志记录

数据库支持

项目支持多种数据库:

  • MySQL 8.0+
  • PostgreSQL 12+
  • Oracle 11g+
  • SQL Server 2017+
  • 达梦数据库
  • DB2

API文档

项目集成了 Knife4j,提供了完整的 API 文档:

部署指南

传统部署

# 打包应用
mvn clean package -P prod

# 启动应用
java -jar eap-server/target/eap-server.jar

Docker 部署

# 使用提供的Docker脚本
cd script/docker/eap
docker-compose up -d

Kubernetes 部署

# 构建镜像并推送到镜像仓库
./script/docker/build-image-server.sh

# 部署到K8s集群
kubectl apply -f k8s/

配置说明

环境配置

项目支持多环境配置:

  • dev:开发环境(默认)
  • test:测试环境
  • prod:生产环境

Maven Profiles

  • dev:开发环境配置
  • cloud:微服务模式
  • ossrh:发布到Maven中央仓库

贡献指南

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

许可证

本项目基于 MIT License 开源协议。

联系我们

致谢

感谢众多个人和组织的支持和帮助,未一一列名。

参考项目

贡献者

感谢所有为本项目做出贡献的开发者!


⭐ 如果这个项目对你有帮助,请给我们一个 Star!

About

开放企业应用平台,整合各种开源项目作为企业应用快速开发的基础框架。 本次改版以芋道开源 Yudao(ruoyi-vue-pro)为基础改版,整合OBPM、MSP、Jeecg等开源项目的部分模块,支持IM和基于AI的企业知识库。 OpenEAP前后端分离,采用后端Spring boot 2.x单体多模块,前端vue2+element-UI 主流路线,支持灵活升级到SpringCloud。

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •