149 lines
4.7 KiB
Markdown
149 lines
4.7 KiB
Markdown
# 海角AI后端开发任务总览
|
||
|
||
## 项目概述
|
||
海角AI是一个智能对话产品,采用经典的两栏式布局,为用户提供AI聊天、会话管理、消息收藏、文件上传等功能。本文档详细规划了后端开发的所有任务。
|
||
|
||
## 任务列表概览
|
||
|
||
| 任务编号 | 任务名称 | 版本 | 状态 | 优先级 | 预估工期 |
|
||
|---------|---------|------|------|-------|---------|
|
||
| TASK001 | 项目基础架构搭建 | V1.0 | 计划中 | 高 | 2天 |
|
||
| TASK002 | 数据库设计和初始化 | V1.0 | 计划中 | 高 | 3天 |
|
||
| TASK003 | 基础配置和公共组件 | V1.0 | 计划中 | 高 | 3天 |
|
||
| TASK004 | 用户认证模块 | V1.0 | 计划中 | 高 | 4天 |
|
||
| TASK005 | 聊天会话管理模块 | V1.0 | 计划中 | 中 | 3天 |
|
||
| TASK006 | 消息处理模块 | V1.0 | 计划中 | 高 | 4天 |
|
||
| TASK007 | 收藏功能模块 | V1.0 | 计划中 | 中 | 2天 |
|
||
| TASK008 | 文件上传模块 | V1.0 | 计划中 | 中 | 3天 |
|
||
| TASK009 | AI服务集成 | V1.0 | 计划中 | 高 | 5天 |
|
||
| TASK010 | 安全性和权限控制 | V1.0 | 计划中 | 高 | 3天 |
|
||
| TASK011 | 性能优化和缓存 | V1.0 | 计划中 | 中 | 3天 |
|
||
| TASK012 | 集成测试和文档完善 | V1.0 | 计划中 | 中 | 4天 |
|
||
|
||
**总计预估工期:39天**
|
||
|
||
## 开发阶段规划
|
||
|
||
### 第一阶段:基础建设(7-8天)
|
||
- TASK001:项目基础架构搭建
|
||
- TASK002:数据库设计和初始化
|
||
- TASK003:基础配置和公共组件
|
||
|
||
### 第二阶段:核心功能(11-13天)
|
||
- TASK004:用户认证模块
|
||
- TASK005:聊天会话管理模块
|
||
- TASK006:消息处理模块
|
||
- TASK009:AI服务集成
|
||
|
||
### 第三阶段:扩展功能(8-10天)
|
||
- TASK007:收藏功能模块
|
||
- TASK008:文件上传模块
|
||
- TASK010:安全性和权限控制
|
||
|
||
### 第四阶段:优化完善(7天)
|
||
- TASK011:性能优化和缓存
|
||
- TASK012:集成测试和文档完善
|
||
|
||
## 技术栈说明
|
||
|
||
### 后端框架
|
||
- **Spring Boot 3.x**:主要开发框架
|
||
- **Spring Security**:安全认证框架
|
||
- **Spring Data JPA**:数据持久层框架
|
||
- **MySQL 8.0**:主数据库
|
||
- **Redis**:缓存和会话存储
|
||
|
||
### 开发工具
|
||
- **Maven**:项目构建和依赖管理
|
||
- **JWT**:用户认证令牌
|
||
- **Swagger/OpenAPI**:API文档生成
|
||
- **Docker**:容器化部署
|
||
- **Flyway**:数据库版本管理
|
||
|
||
### 外部服务
|
||
- **腾讯混元AI**:AI对话服务
|
||
- **文件存储**:本地存储或OSS
|
||
- **搜索引擎API**:联网搜索功能
|
||
|
||
## API接口概览
|
||
|
||
### 用户认证模块(4个接口)
|
||
- POST /api/auth/register - 用户注册
|
||
- POST /api/auth/login - 用户登录
|
||
- POST /api/auth/logout - 用户登出
|
||
- GET /api/user/info - 获取用户信息
|
||
|
||
### 聊天模块(6个接口)
|
||
- POST /api/chat/session - 创建会话
|
||
- POST /api/chat/send - 发送消息
|
||
- GET /api/chat/sessions - 获取会话列表
|
||
- GET /api/chat/messages - 获取会话消息
|
||
- DELETE /api/chat/session/{session_id} - 删除会话
|
||
- POST /api/chat/session/{session_id}/clear - 清空会话
|
||
|
||
### 收藏模块(3个接口)
|
||
- POST /api/favorites/add - 收藏消息
|
||
- DELETE /api/favorites/remove - 取消收藏
|
||
- GET /api/favorites/list - 获取收藏列表
|
||
|
||
### 文件上传模块(1个接口)
|
||
- POST /api/files/upload - 上传文件
|
||
|
||
## 数据库表设计概览
|
||
|
||
### 核心业务表
|
||
- **users**:用户表
|
||
- **sessions**:会话表
|
||
- **messages**:消息表
|
||
- **favorites**:收藏表
|
||
- **files**:文件表
|
||
|
||
### 系统表
|
||
- **operation_logs**:操作日志表
|
||
- **system_configs**:系统配置表
|
||
|
||
## 部署环境要求
|
||
|
||
### 硬件要求
|
||
- **CPU**:4核心以上
|
||
- **内存**:8GB以上
|
||
- **存储**:50GB以上SSD
|
||
|
||
### 软件要求
|
||
- **Java 17+**
|
||
- **MySQL 8.0+**
|
||
- **Redis 6.0+**
|
||
- **Nginx**(反向代理)
|
||
|
||
## 风险控制
|
||
|
||
### 技术风险
|
||
1. **AI服务依赖**:外部AI服务不稳定,需要实现降级和重试机制
|
||
2. **并发处理**:高并发情况下的性能瓶颈,需要优化缓存和数据库
|
||
3. **数据安全**:用户数据和会话内容的安全保护
|
||
|
||
### 业务风险
|
||
1. **内容安全**:AI生成内容的合规性检查
|
||
2. **用户体验**:响应时间和系统稳定性
|
||
3. **扩展性**:后续功能扩展的架构支持
|
||
|
||
## 质量保证
|
||
|
||
### 代码质量
|
||
- 代码覆盖率达到80%以上
|
||
- 遵循阿里巴巴Java开发规范
|
||
- 使用SonarQube进行代码质量检查
|
||
|
||
### 测试策略
|
||
- 单元测试:所有Service层方法
|
||
- 集成测试:所有API接口
|
||
- 性能测试:并发用户场景模拟
|
||
|
||
### 文档要求
|
||
- API文档:Swagger自动生成
|
||
- 部署文档:详细的环境配置和部署步骤
|
||
- 运维文档:监控、备份、故障处理指南
|
||
|
||
---
|
||
|
||
**备注**:本任务规划基于当前需求和技术选型,在实际开发过程中可能需要根据具体情况进行调整。建议采用敏捷开发模式,按阶段交付,及时收集反馈并迭代优化。 |