2025-12-25 09:31:52 +08:00

270 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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赋能教育让学习更智能