复现已有算法

This commit is contained in:
cloud
2026-07-14 15:43:18 +08:00
parent abebd2a683
commit 50b8111fd9
860 changed files with 182250 additions and 18 deletions
+53
View File
@@ -0,0 +1,53 @@
---
name: project-structure
description: 工程目录与构建规范。用于本仓库跨模块改动时,保证边缘端与云端目录职责清晰、构建产物结构一致、部署方式一致。
---
# 工程结构规范
## 顶层职责
- `collector/`:边缘采集进程
- `configurator/`:边缘配置服务
- `cloud_server/`:云端服务
- `frontend/config_app/`:边缘前端
- `frontend/cloud_app/`:云端前端
- `foundation/`:共享 C++ 基础库
- `docs/`:通用技术文档
## 构建与产物
- 各后端模块使用 `build/` 作为构建目录
- 打包输出到 `runtime/`
- 原则:`build/` 与对应 `runtime/` 目录结构保持一致,避免运行时路径偏差
## 脚本职责
- `build.sh`:编译 + 前端构建 + 资源同步
- `run.sh`:构建后启动(必要时先停旧进程)
- `package.sh`:整体打包到 `runtime/`
- `run_collector_tests.sh`:采集端 collector 测试入口(unit / ci / all
- `run_configurator_tests.sh`:配置端 configurator 测试入口(unit / ci / all
- `run_cloud_tests.sh`:云端 cloud_server 测试入口(unit / 集成 / 压测 / 长稳)
## 部署约束
- 开发环境:模块独立运行、独立调试
- 生产环境:使用打包产物 + systemd 管理
- 不引入额外“总控进程”替代现有部署方式
## 命名约定
- 目录:`snake_case`
- 前端组件目录:`PascalCase`
- 文档:业务文档可中文命名,标准文件按通用约定
## 测试约定
- 每个后端子工程有独立的 `run_<子工程>_tests.sh` 脚本入口
- 各后端子工程的单元测试放在 `子工程/tests/unit/`
- 子工程相关的集成测试/压测/E2E 放在 `子工程/tests/{integration,benchmark,e2e}/`
- GTest 公共基础设施位于 `foundation/cmake/EdgeCollectorTesting.cmake`
- 测试概览文档位于 `docs/testing.md`
- 详细测试文档位于各子工程 `tests/` 目录下