feat: implement full arch design dashboard #1
|
|
@ -1,7 +1,7 @@
|
|||
FROM python:3.12-slim
|
||||
FROM localhost:8082/python:3.12-slim
|
||||
WORKDIR /app
|
||||
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
|
||||
COPY pyproject.toml uv.lock ./
|
||||
RUN uv sync --frozen --no-dev
|
||||
RUN pip install --index-url http://localhost:8081/repository/pypi-group/simple --trusted-host localhost uv && \
|
||||
uv sync --frozen --no-dev --index-url http://localhost:8081/repository/pypi-group/simple
|
||||
COPY app/ app/
|
||||
CMD ["uv", "run", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8900"]
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ services:
|
|||
frontend:
|
||||
build: ./frontend
|
||||
ports:
|
||||
- "80:80"
|
||||
- "8899:80"
|
||||
depends_on:
|
||||
- backend
|
||||
|
||||
|
|
|
|||
BIN
features/full-implementation/test-images/01-homepage.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
features/full-implementation/test-images/02-project-list.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 135 KiB |
BIN
features/full-implementation/test-images/04-graph-drilldown.png
Normal file
|
After Width: | Height: | Size: 151 KiB |
BIN
features/full-implementation/test-images/05-editor-page.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
features/full-implementation/test-images/06-csv-editor.png
Normal file
|
After Width: | Height: | Size: 120 KiB |
BIN
features/full-implementation/test-images/07-md-editor.png
Normal file
|
After Width: | Height: | Size: 198 KiB |
32
features/full-implementation/works/progress.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# arch-design-agent-skill-dashboard — full-implementation 进度
|
||||
|
||||
## 步骤
|
||||
|
||||
1. ✅ Pre-flight: 确认容器运行、项目可见
|
||||
2. ✅ 项目移入 develops/ 目录
|
||||
3. ✅ 创建 feature branch: feat/full-implementation
|
||||
4. ✅ 启动桥接 (bridge-supervisor): run 20260323-134055-524432
|
||||
5. ✅ CC 开发完成(桥接交互式)
|
||||
6. ✅ CC 完成,进入后续流程
|
||||
7. ✅ QA 测试(宿主机 agent-browser)
|
||||
8. ✅ 工作记录
|
||||
9. ⏳ 提交 PR
|
||||
10. 🔲 更新项目索引 (projects.md)
|
||||
11. 🔲 回复报告
|
||||
|
||||
## 桥接信息
|
||||
- Run ID: 20260323-134055-524432
|
||||
- Session: arch-dashboard-full-impl
|
||||
- CC Talk Room: p94wpqsv
|
||||
- Trigger Room: sj2fua7t
|
||||
|
||||
## 测试结果摘要
|
||||
- 前端地址: http://192.168.0.150:8899
|
||||
- 后端地址: http://192.168.0.150:8900
|
||||
- 全景关系图: ✅(63 nodes / 94 edges)
|
||||
- 图节点下钻: ✅
|
||||
- CSV 编辑器: ✅
|
||||
- Markdown 编辑器: ✅
|
||||
- 设计扫描: ✅
|
||||
- 实现进度评估: ✅
|
||||
- Health API: ✅
|
||||
67
features/full-implementation/works/summary.md
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
# arch-design-agent-skill-dashboard — full-implementation 开发记录
|
||||
|
||||
## 基本信息
|
||||
- 项目: arch-design-agent-skill-dashboard
|
||||
- 功能: full-implementation(全功能实现)
|
||||
- 日期: 2026-03-23
|
||||
- 状态: ✅ 完成
|
||||
|
||||
## 需求描述
|
||||
根据项目中 design/ 目录下的架构设计文档(业务架构、应用架构、数据架构、技术架构、领域设计等),使用 Superpowers 结构化开发流程,实现 dashboard 的所有功能。项目框架和目录结构已搭建好,需补全所有模块的实际业务逻辑代码。
|
||||
|
||||
## 技术方案
|
||||
- **后端**: Python 3.12 + FastAPI + uvicorn + Pydantic,模块化 DDD 架构
|
||||
- **前端**: Vue 3 + TypeScript + Vite + D3.js(图谱可视化)
|
||||
- **部署**: Docker Compose(backend 8900 / frontend 8899)
|
||||
- **数据**: JSON 文件持久化项目注册表,设计文件直接读写
|
||||
|
||||
## 实现细节
|
||||
|
||||
### 后端模块 (30+ commits)
|
||||
- **project**: CRUD + JSON 文件持久化
|
||||
- **scanner**: CSV/MD/YAML/OpenAPI 四种解析器,支持 20+ CSV 文件类型映射为 Design 实体
|
||||
- **editor**: 文件读写 + 影响分析(通过 frontmatter upstream/downstream 关系)
|
||||
- **graph**: 全景关系图构建 + 邻居查询(63 nodes, 94 edges)
|
||||
- **impl_tracker**: 实现进度评估 + 手动覆盖(9 modules)
|
||||
- **design**: 31 个设计实体 dataclass + FileStatus 检测 + 验证规则
|
||||
- **shared**: 配置管理 + 文件系统工具
|
||||
|
||||
### 前端模块
|
||||
- **project**: 项目列表 + 创建/删除
|
||||
- **graph**: D3.js 力导向图全景 + 节点下钻详情面板(右侧抽屉)
|
||||
- **editor**: CSV 表格编辑器(添加行/删除行/保存)+ Markdown 双栏编辑器(源码 + 实时预览)
|
||||
- **router**: 3 个路由(首页/项目图谱/编辑器)
|
||||
|
||||
### 部署
|
||||
- Docker Compose: backend (8900) + frontend via nginx (8899)
|
||||
- DESIGN_DIR 挂载项目根目录 → 容器内 /data/design
|
||||
- Dockerfile 使用 Nexus 代理(PyPI + npm)
|
||||
|
||||
## 测试结果
|
||||
| 序号 | 功能 | 结果 | 截图 |
|
||||
|------|------|------|------|
|
||||
| 1 | 首页空状态 | ✅ | test-images/01-homepage.png |
|
||||
| 2 | 项目列表 | ✅ | test-images/02-project-list.png |
|
||||
| 3 | 全景关系图(63 nodes, 94 edges) | ✅ | test-images/03-project-overview-graph.png |
|
||||
| 4 | 图节点下钻详情 | ✅ | test-images/04-graph-drilldown.png |
|
||||
| 5 | 编辑器页面 | ✅ | test-images/05-editor-page.png |
|
||||
| 6 | CSV 表格编辑器 | ✅ | test-images/06-csv-editor.png |
|
||||
| 7 | Markdown 双栏编辑器 | ✅ | test-images/07-md-editor.png |
|
||||
| 8 | API /health | ✅ | (API response: {"status": "ok"}) |
|
||||
| 9 | 设计扫描 (POST /scan) | ✅ | (94 files scanned) |
|
||||
| 10 | 实体查询 (capabilities) | ✅ | (10 capabilities) |
|
||||
| 11 | 实体查询 (modules) | ✅ | (9 modules) |
|
||||
| 12 | 影响分析 | ✅ | (API 200 OK) |
|
||||
| 13 | 实现进度评估 | ✅ | (9 modules evaluated) |
|
||||
|
||||
## API 端点 (23 个)
|
||||
- Projects CRUD, Scan, Entities (capabilities/modules/entities/integrations/value-flows/user-journeys/data-flows/external-systems/traceability-links/runtime-components + detail), Graph (panorama/neighbors), Editor (read/write + impact), Impl Progress (evaluate/override), Health
|
||||
|
||||
## 遇到的问题及解决方案
|
||||
| 问题 | 解决方案 |
|
||||
|------|----------|
|
||||
| 宿主机 8900 端口被旧 uvicorn 占用 | kill 旧进程 |
|
||||
| .git 权限不匹配(vagrant vs dev:1001) | chown 修复 |
|
||||
| host.docker.internal 在 Linux 不可用 | 改用 --network host 构建 + localhost |
|
||||
| nginx:alpine 不在 Nexus 代理中 | dpull 通过代理下载后 docker tag |
|
||||
| Playwright input 选择器不匹配 | 检查 Vue 模板,使用正确的 `input` 选择器 |
|
||||
14
features/works.md
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# arch-design-agent-skill-dashboard 工作记录
|
||||
|
||||
## full-implementation
|
||||
- **日期**: 2026-03-23
|
||||
- **状态**: ✅ 完成
|
||||
- **分支**: feat/full-implementation
|
||||
- **摘要**:
|
||||
- 基于 design/ 架构文档完成前后端全功能实现
|
||||
- 后端实现 project / scanner / editor / graph / impl_tracker 五大模块 API
|
||||
- 前端实现项目管理、D3 全景关系图、图节点下钻、CSV 编辑器、Markdown 编辑器
|
||||
- 增加 Docker Compose 部署能力,服务地址:前端 `http://192.168.0.150:8899`,后端 `http://192.168.0.150:8900`
|
||||
- QA 测试通过:全景图(63 nodes / 94 edges)、扫描、编辑、进度评估、health API 全部正常
|
||||
- **详细记录**: `features/full-implementation/works/summary.md`
|
||||
- **测试截图**: `features/full-implementation/test-images/`
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
FROM node:20-alpine AS build
|
||||
FROM localhost:8082/node:20-alpine AS build
|
||||
WORKDIR /app
|
||||
COPY package.json package-lock.json ./
|
||||
RUN npm ci
|
||||
RUN npm --registry http://localhost:8081/repository/npm-group/ ci
|
||||
COPY . .
|
||||
RUN npm run build
|
||||
|
||||
FROM nginx:alpine
|
||||
FROM localhost:8082/nginx:alpine
|
||||
COPY --from=build /app/dist /usr/share/nginx/html
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
EXPOSE 80
|
||||
|
|
|
|||