diff --git a/.woodpecker.yml b/.woodpecker.yml index 63d4b40..6148b13 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -34,7 +34,7 @@ steps: image: maven:3.9-eclipse-temurin-21 commands: - cd novalon-manage-api - - mvn test + - mvn verify environment: SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/manage_system SPRING_DATASOURCE_USERNAME: postgres @@ -43,6 +43,15 @@ steps: event: [push, pull_request] path: novalon-manage-api/** + - name: Backend Coverage Report + image: maven:3.9-eclipse-temurin-21 + commands: + - cd novalon-manage-api/manage-sys + - echo "Coverage report generated at target/site/jacoco/index.html" + when: + event: [push, pull_request] + path: novalon-manage-api/** + - name: Frontend Install image: node:21-alpine commands: diff --git a/EXECUTION_GUIDE_QUALITY.md b/EXECUTION_GUIDE_QUALITY.md new file mode 100644 index 0000000..ece75ce --- /dev/null +++ b/EXECUTION_GUIDE_QUALITY.md @@ -0,0 +1,312 @@ +# 系统质量提升 - 执行指南 + +## 📋 概述 + +本文档指导您如何在新的独立会话中批量执行系统质量提升计划。 + +## 🎯 目标 + +将系统完成度从 68% 提升至 90% 以上,包括: +- 单元测试覆盖率 >= 80% +- 所有 Handler 函数式迁移完成 +- 前端页面功能完整 +- CI/CD 自动化完善 +- 性能优化和监控完善 + +## 🚀 快速开始 + +### Step 1: 打开新的 IDE 会话 + +在 Trae IDE 中打开新的会话,工作目录设置为: +``` +/Users/zhangxiang/Codes/Novalon/novalon-manage-system-quality +``` + +### Step 2: 验证环境 + +```bash +cd /Users/zhangxiang/Codes/Novalon/novalon-manage-system-quality + +# 检查当前分支 +git branch + +# 应该显示:* feature/system-quality-improvement + +# 检查工作目录 +pwd + +# 应该显示:/Users/zhangxiang/Codes/Novalon/novalon-manage-system-quality +``` + +### Step 3: 调用 executing-plans 技能 + +在新会话中,首先调用 `executing-plans` 技能: + +``` +@executing-plans +``` + +### Step 4: 加载计划文档 + +执行计划时,引用以下文档: +``` +docs/plans/2026-03-12-system-quality-improvement.md +``` + +## 📁 Worktree 结构 + +``` +/Users/zhangxiang/Codes/Novalon/ +├── novalon-manage-system/ # 主工作目录(原分支) +├── novalon-manage-system-quality/ # 质量提升分支(新会话) +└── novalon-manage-system-refactor/ # 重构分支(其他工作) +``` + +## 🔄 执行流程 + +### Phase 1: 质量基础设施(2-3周) + +1. **Task 1**: 配置 JaCoCo 代码覆盖率工具 +2. **Task 2**: 创建测试基础配置类 +3. **Task 3-14**: 为所有 Service 编写单元测试 +4. **Task 15**: 运行所有单元测试并生成覆盖率报告 +5. **Task 16**: 配置 Woodpecker CI/CD 流水线 +6. **Task 17**: 添加静态代码分析 + +### Phase 2: 功能完善(3-4周) + +1. **Task 18**: 完成 SysUserHandler 函数式迁移 +2. **Task 19**: 完成其他 Handler 的函数式迁移 +3. **Task 20**: 实现前端用户管理页面 +4. **Task 21**: 实现其他前端管理页面 +5. **Task 22**: 完善 API 文档 + +### Phase 3: 效能优化(2-3周) + +1. **Task 23**: 性能测试 +2. **Task 24**: 数据库查询优化 +3. **Task 25**: 缓存策略优化 +4. **Task 26**: 添加监控和告警 +5. **Task 27**: 安全扫描 +6. **Task 28**: 编写架构设计文档 +7. **Task 29**: 编写部署文档 + +## 📊 检查点 + +在每个 Phase 完成后,创建检查点: + +### Phase 1 完成检查点 +```bash +# 运行所有测试 +cd novalon-manage-api/manage-sys +mvn clean verify + +# 检查覆盖率 +open target/site/jacoco/index.html + +# 确认覆盖率 >= 80% +``` + +### Phase 2 完成检查点 +```bash +# 测试后端 API +curl http://localhost:8080/api/users + +# 测试前端页面 +cd novalon-manage-web +npm run dev + +# 访问 http://localhost:5173 +``` + +### Phase 3 完成检查点 +```bash +# 运行性能测试 +k6 run novalon-manage-api/manage-sys/src/test/k6/performance-test.js + +# 检查监控指标 +curl http://localhost:8080/actuator/prometheus + +# 访问 Grafana Dashboard +open http://localhost:3000 +``` + +## 🎯 成功标准 + +### Phase 1 成功标准 +- ✅ 单元测试覆盖率 >= 80% +- ✅ 所有测试通过 +- ✅ CI/CD 流水线正常运行 +- ✅ 静态代码分析无严重问题 + +### Phase 2 成功标准 +- ✅ 所有 Handler 迁移到函数式风格 +- ✅ 所有前端页面功能完整 +- ✅ API 文档完善 + +### Phase 3 成功标准 +- ✅ 性能测试通过(P95 < 500ms) +- ✅ 数据库查询优化完成 +- ✅ 缓存策略生效 +- ✅ 监控告警系统运行正常 +- ✅ 安全扫描无高危漏洞 +- ✅ 文档完善 + +## 🛠️ 常用命令 + +### Git 操作 +```bash +# 查看当前分支 +git branch + +# 查看更改 +git status + +# 提交更改 +git add . +git commit -m "message" + +# 推送到远程 +git push origin feature/system-quality-improvement +``` + +### Maven 操作 +```bash +# 编译 +cd novalon-manage-api +mvn clean compile + +# 测试 +mvn test + +# 打包 +mvn clean package + +# 验证(包含测试和覆盖率) +mvn verify +``` + +### 前端操作 +```bash +# 安装依赖 +cd novalon-manage-web +npm install + +# 开发服务器 +npm run dev + +# 构建 +npm run build + +# 测试 +npm run test +``` + +### Docker 操作 +```bash +# 构建镜像 +docker-compose build + +# 启动服务 +docker-compose up -d + +# 查看日志 +docker-compose logs -f + +# 停止服务 +docker-compose down +``` + +## 📝 提交规范 + +### Commit Message 格式 +``` +(): + + + +