263f474c90
- 路由:GET/POST/PUT/DELETE /api/v1/reports + POST /reports/{id}/submit
- 状态机:draft → submitted → ai_parsed → reviewed
- 防重复:同年同月同企业不可重复创建
- 租户隔离:通过 company 关联校验
- 测试:7 个月报测试(总计 33 tests passed)
80 lines
3.0 KiB
Plaintext
80 lines
3.0 KiB
Plaintext
# 项目进度记录
|
||
|
||
> 最后更新:2026-07-18
|
||
|
||
## Phase 0:项目骨架 ✅ 完成
|
||
|
||
### 已完成清单
|
||
|
||
| 任务 | 状态 | 验证结果 |
|
||
|---|---|---|
|
||
| T0.1 项目目录结构 | ✅ | `.gitignore` + `.env.example` + 目录树 |
|
||
| T0.2 后端项目初始化 | ✅ | `pytest test_health.py` → 4 passed |
|
||
| T0.3 前端项目初始化 | ✅ | `pnpm build` → 8 路由构建成功 |
|
||
| T0.4 Docker Compose | ✅ | docker-compose.yml + Dockerfile(Docker Hub 网络受限,使用本地 PostgreSQL) |
|
||
| T0.5 数据库迁移基座 | ✅ | `alembic upgrade head` → 7 张核心表创建成功 |
|
||
|
||
### 技术栈实际版本
|
||
|
||
- **后端**:Python 3.12.10 + FastAPI 0.139.2 + SQLAlchemy 2.0.51 + Alembic 1.18.5
|
||
- **前端**:Next.js 16.2.10 + React 19.2.4 + TailwindCSS 4.3.3 + TypeScript 5.9.3
|
||
- **数据库**:PostgreSQL 15.13(本地 Postgres.app,非 Docker)
|
||
- **包管理**:pip + venv(后端,uv 安装受阻) / pnpm 10.33.2(前端)
|
||
|
||
### 网络问题记录
|
||
|
||
- Google Fonts、Docker Hub、PyPI 均有 SSL 连接问题
|
||
- **解决方案**:PyPI 用清华镜像源;前端用系统字体替代 Google Fonts;数据库用本地 Postgres.app
|
||
|
||
### 核心表结构
|
||
|
||
1. `tenants` — 租户(投资机构)
|
||
2. `users` — 用户(多角色)
|
||
3. `companies` — 被投企业
|
||
4. `monthly_reports` — 月报
|
||
5. `health_scores` — 健康度评分
|
||
6. `risk_events` — 风险事件
|
||
7. `audit_logs` — 审计日志
|
||
|
||
### 前端路由
|
||
|
||
- `/` → 重定向到 `/dashboard`
|
||
- `/dashboard` → 投资人端驾驶舱(B 端,左 Sidebar)
|
||
- `/founder` → 创始人端概览(C 端,顶部 Header + 底部导航)
|
||
- `/founder/reports` → 月报
|
||
- `/founder/copilot` → AI 副驾驶
|
||
- `/admin` → 管理后台(Admin 端,slate-950 Header)
|
||
- `/login` → 登录页
|
||
|
||
---
|
||
|
||
## Phase 1:MVP 核心功能 — 待开始
|
||
|
||
### 优先级排序
|
||
|
||
1. **T1.1 认证与权限** — 登录/注册/JWT/角色控制
|
||
2. **T1.2 企业档案 CRUD** — 被投企业列表/详情/编辑
|
||
3. **T1.3 月报管理** — 提交/查看/AI 解析
|
||
4. **T1.4 健康度仪表盘** — 投资人端驾驶舱首页
|
||
5. **T1.5 风险工作台** — 风险列表/详情/处理
|
||
|
||
### 已完成
|
||
|
||
| 任务 | 状态 | 验证结果 |
|
||
|---|---|---|
|
||
| T1.1 认证与权限 | ✅ | 后端 15 tests passed + 前端登录页构建成功 |
|
||
| T1.2 企业档案 CRUD | ✅ | 后端 11 tests passed + 前端列表/详情页构建成功 |
|
||
|
||
### T1.1 产出
|
||
|
||
- **后端**:`auth.py` 路由(register/login/refresh/me)+ `dependencies.py`(JWT 校验 + 角色权限)
|
||
- **前端**:`auth-context.tsx`(AuthProvider)+ 登录表单页
|
||
- **测试**:11 个认证测试(注册/登录/获取用户/刷新 token)+ 4 个健康检查 = 15 passed
|
||
|
||
### T1.2 产出
|
||
|
||
- **后端**:`companies.py` 路由(列表/详情/创建/更新/删除)+ 分页 + 关键词搜索 + 租户隔离
|
||
- **前端**:`companies.ts` API 客户端 + 企业列表页(卡片+搜索+分页)+ 企业详情页
|
||
- **测试**:11 个企业 CRUD 测试(创建/列表/搜索/分页/详情/更新/删除)
|
||
- **总计**:26 tests passed
|