5.7 KiB
5.7 KiB
任务清单 - 基本面选股系统 MVP
本文档基于《设计文档》,将项目开发分解为一系列可执行的任务,以便于跟踪进度和分配工作。
Phase 1: 项目基础设置与环境搭建 (P0)
此阶段的目标是搭建前后端开发环境,并完成数据库的初始化设置。
- T1.1 [DevOps]: 初始化Git仓库,并建立
main和develop分支策略。 - T1.2 [Backend]: 创建Python虚拟环境,并初始化FastAPI项目结构 (
/backend)。 - T1.3 [Frontend]: 使用Next.js和TypeScript初始化前端项目 (
/frontend)。 - T1.4 [DevOps/DB]: 编写
docker-compose.yml文件,用于一键启动PostgreSQL数据库服务和后端API服务。 - T1.5 [Backend/DB]: 在后端项目中集成Alembic,用于数据库版本迁移管理。
Phase 2: 后端核心模型与配置 (P0)
此阶段专注于实现数据库模型和系统配置API,为上层业务逻辑提供基础。
- T2.1 [Backend/DB]: 根据设计文档,使用SQLAlchemy ORM定义
Report,AnalysisModule,ProgressTracking,SystemConfig四个核心数据模型。 - T2.2 [Backend/DB]: 创建第一个Alembic迁移脚本,在数据库中生成上述四张表。
- T2.3 [Backend]: 实现
ConfigManager服务,完成从config.json加载配置并与数据库配置合并的逻辑。 - T2.4 [Backend/API]: 创建Pydantic Schema,用于配置接口的请求和响应 (
ConfigResponse,ConfigUpdateRequest,ConfigTestRequest,ConfigTestResponse)。 - T2.5 [Backend/API]: 实现
/api/config的GET和PUT端点,用于读取和更新系统配置。 - T2.6 [Backend/API]: 实现
/api/config/test的POST端点,用于验证数据库连接等配置的有效性。
Phase 3: 前端基础与配置页面 (P1)
此阶段完成前端项目的基本设置,并开发出第一个功能页面——系统配置管理。
- T3.1 [Frontend]: 集成并配置UI组件库 (Shadcn/UI)。
- T3.2 [Frontend]: 设置前端路由,创建
/,/report/[symbol], 和/config等页面骨架。 - T3.3 [Frontend]: 引入状态管理库 (Zustand) 和数据请求库 (SWR/React-Query)。
- T3.4 [Frontend/UI]: 开发
ConfigPage组件,包含用于数据库、Gemini API和数据源配置的表单。 - T3.5 [Frontend/API]: 编写API客户端函数,用于调用后端的
/api/config系列接口。 - T3.6 [Frontend/Feature]: 将API客户端与
ConfigPage组件集成,实现前端对系统配置的读取、更新和测试功能。
Phase 4: 核心功能 - 报告生成与进度追踪 (P1)
此阶段是项目的核心,重点开发后端的报告生成流程和前端的实时进度展示。
- T4.1 [Backend/Service]: 实现
DataSourceManager,封装对Tushare和Yahoo Finance的数据获取逻辑。 - T4.2 [Backend/Service]: 实现
AIService,封装对Google Gemini API的调用逻辑,包括Token使用统计。 - T4.3 [Backend/Service]: 实现
ProgressTracker服务,提供initialize,start_step,complete_step,get_progress等方法,并与数据库交互。 - T4.4 [Backend/Service]: 定义
AnalysisModule的基类/接口,并初步实现一到两个模块(如FinancialDataModule)作为示例。 - T4.5 [Backend/Service]: 实现核心的
ReportGenerator服务,编排数据获取、各分析模块调用、进度更新的完整流程。 - T4.6 [Backend/API]: 实现
/api/reports的POST端点,用于创建报告记录并通过BackgroundTasks启动异步生成任务。 - T4.7 [Backend/API]: 实现
/api/progress/stream/{report_id}的SSE端点,用于向前端实时推送进度更新。 - T4.8 [Frontend/UI]: 开发
ProgressTracker组件,用于展示报告生成的步骤列表、实时状态、耗时和错误信息。 - T4.9 [Frontend/Feature]: 在报告页面集成
ProgressTracker组件,并实现连接到SSE端点的逻辑。
Phase 5: 核心功能 - 报告查询与展示 (P2)
此阶段专注于将生成的报告数据在前端进行展示。
- T5.1 [Backend/API]: 实现
/api/reports/{report_id}的GET端点,用于获取完整的报告及其所有分析模块。 - T5.2 [Backend/API]: 实现
/api/reports的GET端点,用于获取报告列表,支持分页和状态筛选。 - T5.3 [Frontend/UI]: 开发
StockInputForm组件,并放置在首页,用于提交股票代码和市场。 - T5.4 [Frontend/Feature]: 实现首页表单的提交逻辑,调用
/api/reports接口并根据响应导航到报告页面。 - T5.5 [Frontend/UI]: 开发
ReportPage,作为展示报告的容器页面。 - T5.6 [Frontend/UI]: 开发
ModuleNavigator组件(侧边栏或Tabs),用于在不同分析模块间切换。 - T5.7 [Frontend/UI]: 开发
ModuleViewer组件,能够根据JSONB数据动态渲染文本、列表、表格等不同形式的内容。 - T5.8 [Frontend/Feature]: 在
ReportPage中集成ModuleNavigator和ModuleViewer,实现从后端获取报告数据并完整展示的功能。
Phase 6: 完善、测试与部署 (P3)
此阶段进行功能完善、端到端测试和部署准备。
- T6.1 [Backend]: 完善所有
AnalysisModule的具体实现。 - T6.2 [Backend/Test]: 为核心服务和API端点编写单元测试和集成测试 (Pytest)。
- T6.3 [Frontend/Test]: 为关键组件和页面逻辑编写单元测试 (Jest/React Testing Library)。
- T6.4 [General]: 全面审查和增强错误处理逻辑,确保用户体验友好。
- T6.5 [General]: 进行端到端的手动测试,确保整个流程(从输入代码到查看报告)顺畅无误。
- T6.6 [DevOps]: 编写生产环境的Dockerfile和部署脚本。
- T6.7 [Docs]: 更新
README.md,补充项目介绍、本地启动方法和部署指南。