Files
nj/wiki/project-health.md

5.5 KiB
Raw Permalink Blame History

title, updated, status, tags
title updated status tags
项目健康度评估 2026-06-07 active
health
tech-debt
risk
improvement

项目健康度评估

index 导航。本文档基于 2026-06-01 全量代码分析生成2026-06-07 更新。

总体评分

维度 评分 说明
架构设计 模块化 ErpModule trait、分层清晰、基座复用
代码质量 Rust 错误处理规范、Flutter 注释质量高、分层一致
测试覆盖 后端 ~77 测试通过、前端 15 个测试文件 203 个用例(仍有 1 个失败待修)
安全合规 PIPL 合规框架完整、PII 加密、RLS 多租户隔离
文档维护 wiki 6 页 + 技术债看板 + CLAUDE.md同步度高
DevOps Docker 配置完善但未验证、CI/CD 缺失、无自动化
功能完整度 后端完整闭环、前端核心模块 85%+、班级/家长模块待完善

技术债全景

已记录10 条)

编号 债务 优先级 预估
TD-1 authorId 硬编码 'local' P0 0.5 天
TD-3 Docker 部署未验证 P0 0.5 天
TD-7 Settings 持久化未实现 P1 0.5 天
TD-8 编辑器不加载已有日记 P1 1 天
TD-4 toImage() 同步阻塞主线程 P1 1 天
TD-2 CI/CD 未建立 P2 1 天
TD-5 前端测试为零 P2 3 天
TD-6 画布尺寸变化缓存过渡 P2 1 天
TD-9 Isar FTS 搜索未实现 P2 1 天
TD-10 SyncEngine 蜂窝数据未支持 P3 0.5 天

新发现9 条)

编号 债务 优先级 预估 位置
NEW-1 前端测试缺失0 回归保护) Critical 3 天 15 个测试文件 203 用例auth_bloc 1 个失败待修
NEW-2 SSE 端口不一致 (8080 vs 3000) Critical 0.5 天 AppConfig 统一管理,均指向 3000
NEW-3 Dockerfile 不存在(生产部署引用) High 1 天 docker-compose.production.yml
NEW-4 API base URL 硬编码 localhost High 0.5 天 api_client.dart:29
NEW-5 班级码后端验证未实现 High 1 天 auth_bloc.dart:141 TODO
NEW-6 Prometheus exporters 未定义 Medium 0.5 天 prometheus.yml 引用
NEW-7 25 处通用 catch(e) 静默吞异常 Medium 1 天 各 BLoC 文件
NEW-8 Feature Flag 未实现(计划中有但未落地) Medium 2 天 erp-server/Cargo.toml
NEW-9 状态管理不统一BLoC vs ChangeNotifier Low 2 天 5 个功能模块

前端模块完成度矩阵

模块 完成度 关键缺失
手写引擎 95% toImage 异步化
编辑器 98% 查看模式 + 图层调整已实现,文字输入/图片上传为占位
认证 85% 班级码后端验证 TODO
首页 90%
设计系统 90% core/utils/ 空目录
设置 85% 持久化未实现
日历 90% 初始加载已修复,周视图/时间线未实现
数据层 85% SyncEngine 缺少网络监听
班级 80%
心情统计 80%
个人中心 80%
贴纸 70% 应用贴纸为 SnackBar 占位
模板 65% 应用模板为 SnackBar 占位
成就 65% 视图页面空壳
教师 60% 班级码硬编码 'a1b2c3'
家长 40% 全部为 SnackBar 占位
搜索 30% Isar FTS 未集成

后端 Crate 依赖图

erp-core ← erp-auth ← erp-server
         ← erp-config ← erp-server
         ← erp-message ← erp-server
         ← erp-workflow ← erp-server
         ← erp-plugin ← erp-server
         ← erp-diary ← erp-server

依赖健康度: 无循环依赖、无跨业务 crate 直接依赖、通过 EventBus 模块间通信

风险矩阵

风险 概率 影响 缓解
前端测试覆盖不足 15 个测试文件已建立auth_bloc 1 个失败待修
Feature Flag 未实现限制扩展 NEW-8: 补充 Cargo features 配置
Docker 生产部署无法构建 NEW-3: 创建 Dockerfile + 验证
SSE 端口不匹配致推送失败 确定 AppConfig 已统一为 3000
手写 toImage 卡 UI TD-4: compute() isolate 异步光栅化
大文件超 800 行限制 erp-plugin manifest.rs(1809) + data_service.rs(1907) 需拆分

改进建议路线图

第一阶段1-2 天)— 紧急修复

  1. NEW-2: SSE 端口统一为 3000
  2. TD-1: authorId 接入 AuthBloc
  3. NEW-4: API base URL 环境配置化

第二阶段3-5 天)— 基础设施

  1. TD-2: CI/CD 基础流水线
  2. TD-3 + NEW-3: Docker 部署验证 + Dockerfile 创建
  3. TD-5: 核心模块单元测试 已有 15 个测试文件,持续补充

第三阶段(持续)— 质量提升

  1. NEW-7: 通用 catch(e) → 类型化异常处理
  2. NEW-8: Feature Flag 配置落地
  3. TD-4: toImage() 异步光栅化
  4. TD-8: 编辑器加载已有日记

变更记录

日期 变更
2026-06-07 更新TD-8/NEW-1/NEW-2 已修复,测试覆盖 ,编辑器 95%→98%,日历 85%→90%
2026-06-01 初始创建 — 基于 4 代理并行分析结果