Fundamental_Analysis/docs/tasks.md
2025-10-28 23:31:28 +08:00

5.8 KiB
Raw Blame History

任务清单 - 基本面选股系统 MVP

本文档基于《设计文档》,将项目开发分解为一系列可执行的任务,以便于跟踪进度和分配工作。

Phase 1: 项目基础设置与环境搭建 (P0)

此阶段的目标是搭建前后端开发环境,并完成数据库的初始化设置。

  • T1.1 [DevOps]: 初始化Git仓库并建立maindevelop分支策略。
  • 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四个核心数据模型。 [完成 - 2025-10-21]
  • T2.2 [Backend/DB]: 创建第一个Alembic迁移脚本在数据库中生成上述四张表。 [完成 - 2025-10-21]
  • T2.3 [Backend]: 实现ConfigManager服务,完成从config.json加载配置并与数据库配置合并的逻辑。 [完成 - 2025-10-21]
  • T2.4 [Backend/API]: 创建Pydantic Schema用于配置接口的请求和响应 (ConfigResponse, ConfigUpdateRequest, ConfigTestRequest, ConfigTestResponse)。
  • T2.5 [Backend/API]: 实现/api/configGETPUT端点,用于读取和更新系统配置。
  • T2.6 [Backend/API]: 实现/api/config/testPOST端点,用于验证数据库连接等配置的有效性。

Phase 3: 前端基础与配置页面 (P1)

此阶段完成前端项目的基本设置,并开发出第一个功能页面——系统配置管理。 [完成 - 2025-10-21]

  • 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/reportsPOST端点,用于创建报告记录并通过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/reportsGET端点,用于获取报告列表,支持分页和状态筛选。
  • 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中集成ModuleNavigatorModuleViewer,实现从后端获取报告数据并完整展示的功能。

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,补充项目介绍、本地启动方法和部署指南。