# aibox **Repository Path**: xpeter/aibox ## Basic Information - **Project Name**: aibox - **Description**: ai-box 是一个全栈式 AI 开发平台,旨在帮助开发者快速构建和部署个性化的 AI 应用。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1032 - **Created**: 2025-04-24 - **Last Updated**: 2025-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AIBOX 后端服务 ## 项目简介 AIBOX后端服务是基于Spring Boot的微服务架构系统,提供了完整的业务功能支持和API服务。 ## 技术栈 - 核心框架:Spring Boot - 数据库:MySQL - 缓存:Redis - 消息队列:RabbitMQ - 文档:Swagger - 构建工具:Maven ## 项目架构设计 ### 核心架构框架 采用标准的"三层架构"模式构建系统: - `ruoyi-admin`:入口层,包含应用启动类和全局配置 - `ruoyi-modules`:业务模块层,按领域模型拆分具体业务功能 - `ruoyi-common`:基础设施层,提供各类通用功能支持 ### 模块依赖关系图 ``` ruoyi-admin │ ├─ ruoyi-modules │ ├─ ruoyi-aibox // AI设计助手核心业务 │ ├─ ruoyi-system // 系统管理模块 │ └─ ruoyi-chat // 聊天服务模块 │ └─ ruoyi-common ├─ common-core // 核心工具类 ├─ common-web // Web层通用功能 ├─ common-mybatis // 数据访问层 ├─ common-redis // 缓存服务 ├─ common-security // 安全模块 └─ common-log // 日志模块 ``` ### 详细模块划分 #### 1. 入口层 (ruoyi-admin) **核心职责**:应用程序生命周期管理、配置管理、依赖注入容器初始化 **关键组件**: - 主启动类 (`RuoYiApplication.java`) - Web容器初始化类 (`RuoYiServletInitializer.java`) - 全局配置文件管理 - 环境切换配置 - 资源文件管理 #### 2. 基础设施层 (ruoyi-common) 基础设施层采用"微内核+插件"设计模式,按功能划分为以下子模块: **核心基础模块**: - `common-core`:提供核心工具类、通用异常定义、基础常量等 - `common-web`:Web层通用功能,如过滤器、拦截器、统一响应处理 - `common-mybatis`:数据访问层框架,封装常用数据库操作 - `common-redis`:缓存服务,提供分布式缓存能力 - `common-security`:安全认证与授权 - `common-log`:日志记录与监控 #### 3. 业务模块层 (ruoyi-modules) **核心业务模块**: - `ruoyi-aibox`:AI设计助手核心业务 * 设计任务管理 * AI模型调用 * 结果处理与展示 - `ruoyi-system`:系统管理 * 用户管理 * 角色权限 * 菜单管理 - `ruoyi-chat`:聊天服务 * 消息处理 * 会话管理 * 历史记录 ## 项目结构 ``` ├─ ruoyi-admin // 管理模块(系统启动入口) │ └─ RuoYiApplication // 启动类 ├─ ruoyi-modules // 业务模块组 │ └─ ruoyi-aibox // AI设计助手业务模块 ├─ ruoyi-modules-api // 对外API接口模块 ├─ ruoyi-common // 公共模块 │ ├─ common-core // 核心模块 │ ├─ common-redis // Redis缓存服务 │ ├─ common-security // 安全模块 │ └─ common-log // 日志模块 ├─ ruoyi-extend // 扩展模块 └─ script // 脚本目录 ``` ## 开发环境要求 - JDK >= 1.8 - Maven >= 3.6 - MySQL >= 5.7 - Redis >= 5.0 - Node.js >= 14(用于前端开发) ## 开发指南 ### 环境准备 1. 安装必要的开发工具:JDK、Maven、MySQL、Redis等 2. 创建数据库并导入数据库脚本 3. 修改配置文件中的数据库连接信息 ### 项目启动 1. 启动Redis服务 2. 启动MySQL服务 3. 运行RuoYiApplication启动类 ### 开发流程 1. 克隆项目到本地 ```bash git clone [项目地址] ``` 2. 创建功能分支 ```bash git checkout -b feature/dev ``` 3. 提交代码 ```bash git commit -m 'Add some dev' ``` 4. 推送分支 ```bash git push origin feature/dev ``` 5. 创建Pull Request ## 项目特点 1. 微服务架构,模块化设计 2. 完善的权限管理系统 3. 统一的异常处理 4. 完整的日志系统 5. 标准RESTful API 6. 支持多数据源 7. 集成第三方服务支持 ## 部署说明 1. 准备生产环境(JDK、MySQL、Redis等) 2. 修改生产环境配置 3. 打包项目:`mvn clean package` 4. 部署项目:`java -jar ruoyi-admin.jar` ## 注意事项 1. 遵循代码规范 2. 及时更新文档 3. 注意代码安全性 4. 保持依赖版本的一致性 5. 定期备份数据库 ## 常见问题 1. 如遇到数据库连接问题,请检查配置文件中的连接信息 2. 如遇到Redis连接问题,请确保Redis服务正常运行 3. 如遇到权限问题,请检查用户角色权限配置 ## 技术支持 - 项目文档:docs目录 - 接口文档:访问 `http://localhost:8080/swagger-ui.html` - 问题反馈:通过Issue提交