# Seer Teach Cloud - 智能教育AI云平台 [![Java](https://img.shields.io/badge/java-21-blue.svg)](https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html) [![Spring Boot](https://img.shields.io/badge/spring--boot-3.5.9-brightgreen.svg)](https://spring.io/projects/spring-boot) [![Spring Cloud](https://img.shields.io/badge/spring--cloud-2025.0.1-brightgreen.svg)](https://spring.io/projects/spring-cloud) ## 项目概述 **Seer Teach Cloud** 是一个基于Spring Cloud微服务架构的智能教育AI云平台,集成了先进的AI技术,提供个性化学习、智能批改、知识图谱构建等功能。该平台专为现代教育场景设计,支持多终端访问,包括智能设备、移动端和Web端。 ## 架构特点 ### 微服务架构 - **服务拆分**:按业务领域拆分为多个独立的微服务模块 - **技术栈**:Spring Boot 3.5.9 + Spring Cloud 2025.0.1 + Spring Cloud Alibaba - **网关层**:Spring Cloud Gateway统一入口,支持路由、限流、鉴权 - **注册中心**:Nacos服务注册与发现 - **配置中心**:Nacos统一配置管理 ### AI智能教育引擎 - **大语言模型集成**:支持阿里云百炼、火山引擎等多种AI平台 - **智能批改**:AI自动批改作业和试卷,提供详细解析 - **个性化推荐**:基于学习行为的智能推荐系统 - **知识点拆分**:AI自动拆分和构建知识图谱 - **智能问答**:支持自然语言交互的智能答疑 ### 核心功能模块 #### 1. 教师服务 (seer-teacher) - 知识点管理与拆分 - 教学目标生成 - 讲课稿与音视频生成 - 学生学习报告分析 - AI辅助教学工具 #### 2. 用户服务 (seer-user) - 用户注册与登录 - 权限管理 - 用户扩展信息管理 - 等级与积分系统 #### 3. 商城服务 (seer-mall) - 商品管理与分类 - 订单处理 - 购物车功能 - 支付集成 #### 4. 支付服务 (seer-pay) - 学豆系统(虚拟币) - 充值与消费 - 订单支付 - 退款处理 #### 5. 物联网服务 (seer-iot) - 设备管理 - 硬件交互 - 数据采集与分析 #### 6. 消息推送 (seer-netty) - 实时消息推送 - IM通信 - 音视频流处理 #### 7. 微信服务 (seer-mp) - 微信公众号集成 - 小程序支持 - OAuth认证 #### 8. 开放API (seer-open-api) - API网关 - 第三方集成 - 访问控制 ## 技术栈 ### 后端技术 - **基础框架**: Spring Boot 3.5.9 / Spring Cloud 2025.0.1 - **微服务**: Spring Cloud Alibaba, Nacos, OpenFeign - **持久层**: MyBatis-Plus 3.5.15, MySQL, Redis - **消息队列**: RocketMQ - **任务调度**: XXL-Job - **API文档**: SpringDoc OpenAPI - **权限认证**: Sa-Token - **对象存储**: MinIO - **序列化**: Protobuf, Fastjson2 - **模板引擎**: Freemarker, Velocity ### AI与数据处理 - **AI平台集成**: 阿里云百炼、火山引擎 - **大模型调用**: LLM API集成 - **文本转语音**: AI语音合成 - **智能批改**: OCR + AI分析 - **知识图谱**: 知识点拆分与关联 ### 网络通信 - **Netty**: 高性能网络通信框架 - **Protobuf**: 高效序列化协议 - **SSE**: Server-Sent Events实时通信 - **MQ**: RocketMQ消息队列 ## 项目结构 ``` seer-teach-cloud-21/ ├── seer-dependencies/ # 依赖管理 ├── seer-common/ # 通用组件 │ ├── common/ # 通用工具类 │ ├── common-auth-scan/ # 认证扫描 │ ├── common-cache/ # 缓存组件 │ ├── common-config/ # 配置管理 │ ├── ... # 其他通用模块 ├── seer-gateway/ # API网关 ├── seer-teacher/ # 教师服务 │ ├── seer-teacher-api/ # 教师API接口 │ ├── seer-teacher-service/ # 教师业务服务 │ ├── seer-teacher-service-admin/ # 教师管理服务 │ └── ... # 其他教师模块 ├── seer-user/ # 用户服务 ├── seer-mall/ # 商城服务 ├── seer-pay/ # 支付服务 ├── seer-iot/ # 物联网服务 ├── seer-netty/ # 网络通信服务 ├── seer-mp/ # 微信服务 └── seer-open-api/ # 开放API服务 ``` ## 快速开始 ### 环境要求 - Java 21+ - Maven 3.8+ - MySQL 8.0+ - Redis 6.0+ - Nacos Server - MinIO (可选) ### 本地开发 1. **克隆项目** ```bash git clone https://github.com/seer-teach-cloud/seer-teach-cloud-21.git cd seer-teach-cloud-21 ``` 2. **配置环境** ```bash # 配置数据库连接、Redis连接等 # 修改各模块的 application.yml 文件 ``` 3. **编译项目** ```bash mvn clean install -Dmaven.test.skip=true ``` 4. **启动服务** ```bash # 1. 启动 Nacos Server # 2. 启动 MySQL 和 Redis # 3. 按顺序启动各微服务模块 ``` 5. **本地开发执行命令**: ```shell mvn flatten:clean mvn clean install '-Dmaven.test.skip=true' ``` ## API接口设计规范 ### RESTful接口设计 - 资源使用复数名词(如/users),单个资源通过ID标识(如/users/{id}) - 避免URL中出现动词,操作通过HTTP方法区分 - 统一返回JSON格式,包含code、message、data字段 ### HTTP方法与操作映射 | 方法 | 场景 | 状态码示例 | | ------ | ---------------------------- | ---------------- | | GET | 获取资源(支持过滤参数) | 200, 304, 404 | | POST | 创建资源(需返回Location头) | 201, 400, 415 | | PUT | 全量更新资源 | 200, 409(冲突) | | DELETE | 删除资源 | 204, 404 | ### 过滤与分页参数 - 使用 `?limit=10&offset=0` 或 `?page=1&per_page=10` 控制返回数据量 - 支持排序(`?sort=field&order=asc`)和条件筛选(`?status=active`) ## 数据库设计规范 ### 表结构设计 - 表名使用复数(如user改为users),主键为id,外键用关联表名_id(如user_id) - 字段命名使用小驼峰(如create_time),避免保留字 ### 索引优化 - 主键自动创建聚簇索引,唯一字段添加唯一索引 - 高频查询字段添加普通索引,复合索引遵循"最左前缀原则" ### 事务与连接池 - 使用@Transactional注解管理事务,明确传播行为 ## 数据库迁移规范 ### 版本化迁移脚本 (Versioned Migrations) - 命名格式:V + 版本号 + 双下划线 + 描述 + .sql - 示例:V20240619__init.sql、V1.5.0__add_user_table.sql ### 可重复迁移脚本 (Repeatable Migrations) - 命名格式:R + 双下划线 + 描述 + .sql - 示例:R__update_view.sql ## AI功能模块 ### 支持的AI场景 - 知识点生成示例题目 - 知识点生成题目 - 教材解析 - 知识点拆分与检查 - 举一反三题目生成 - 教学目标生成 - 讲课稿生成 - 文本转语音 ### AI平台支持 - 阿里云百炼平台 - 火山引擎(即梦) - 本地模型 ## 开发规范 ### 代码规范 - 遵循Java编程规范 - 使用Lombok简化代码 - 使用MapStruct进行对象映射 - 统一日志记录 ### 测试规范 - 单元测试覆盖率达到80%以上 - 集成测试覆盖核心业务流程 - 性能测试确保系统稳定性 ## 部署说明 ### 生产环境部署 1. 配置生产环境的数据库、Redis、Nacos等中间件 2. 编译打包各微服务模块 3. 使用Docker容器化部署 4. 配置负载均衡和监控 ### Docker部署 ```bash # 构建Docker镜像 mvn spring-boot:build-image # 使用Docker Compose部署 docker-compose up -d ``` ## 监控与运维 ### 监控指标 - 应用性能监控(APM) - 业务指标监控 - 系统资源监控 - AI服务调用监控 --- **Seer Teach Cloud** - 让AI赋能教育,让学习更智能!