{ "metadata": { "project_name": "steel_prices_service", "description": "钢材价格数据解析与查询服务(Express.js + MySQL)", "last_scan": "2026-01-05T16:13:47+08:00", "scan_version": "1.0.0", "scanner": "AI Context Architect (Adaptive)" }, "statistics": { "total_files_estimated": 7, "files_scanned": 7, "coverage_percentage": 100, "directories_found": 3, "modules_identified": 2, "languages_detected": ["JSON", "Markdown"], "ignore_patterns_applied": [ "node_modules/**", ".git/**", ".github/**", "dist/**", "build/**", ".next/**", "__pycache__/**", "*.lock", "*.log", "*.bin", "*.pdf", "*.png", "*.jpg", "*.jpeg", "*.gif", "*.mp4", "*.zip", "*.tar", "*.gz" ] }, "modules": [ { "name": "root", "path": "./", "type": "root", "language": "JavaScript/Node.js (planned)", "description": "钢材价格服务根目录(项目初始阶段)", "entry_points": [], "interfaces": [], "dependencies": [], "data_models": [], "tests": [], "documentation": "CLAUDE.md", "coverage": { "has_entry": false, "has_interfaces": false, "has_tests": false, "has_data_models": false, "has_documentation": true }, "status": "initial" }, { "name": "data", "path": "data/", "type": "data", "language": "JSON", "description": "钢材价格数据存储目录", "entry_points": [], "interfaces": [], "dependencies": [], "data_models": [ { "name": "SteelPriceData", "source": "钢材网架.json, 钢厂指导价.json, 刚协指导价.json", "total_records": 31098, "fields": [ "GOODS_MATERIAL", "GOODS_SPEC", "PIRCE_DATE", "PARTSNAME_NAME", "PRODUCTAREA_NAME", "PRICE_ID", "PR_PRICE_SOURCE", "PR_PRICE_REGION", "PNTREE_NAME", "PR_PRICESET_MAKEPRICE", "PR_LAST_PRICESET_MAKEPRICE", "PR_MAKEPRICE_UPDW", "PR_PRICESET_HANGPRICE", "PR_LAST_PRICESET_HANGPRICE", "PR_HANGPRICE_UPDW", "OPERATOR_CODE", "OPERATOR_NAME" ] } ], "tests": [], "documentation": "data/CLAUDE.md", "coverage": { "has_entry": false, "has_interfaces": false, "has_tests": false, "has_data_models": true, "has_documentation": true }, "status": "completed" } ], "gaps": [ { "module": "root", "missing": [ "package.json (Node.js 项目配置)", "src/ 目录(源代码)", "app.js 或 index.js (Express 应用入口)", "config/ 目录(配置文件)", "routes/ 目录(API 路由)", "models/ 目录(数据模型)", "services/ 目录(业务逻辑)", "scripts/ 目录(工具脚本)", "tests/ 目录(测试代码)", ".env.example (环境变量示例)", ".gitignore (Git 忽略规则)", "数据库表结构定义" ], "priority": "high", "recommendation": "项目处于初始阶段,需要搭建完整的 Express.js 项目结构" }, { "module": "data", "missing": [ "数据验证模块", "数据导入脚本", "数据更新定时任务" ], "priority": "medium", "recommendation": "实现 JSON 数据解析与数据库导入功能" } ], "next_steps": [ "初始化 Node.js 项目 (npm init -y)", "安装核心依赖 (express, mysql2, dotenv, cors)", "创建标准项目目录结构 (src/, config/, routes/, models/, services/)", "设计并创建 MySQL 数据库表结构", "实现 JSON 数据解析模块 (services/parser.js)", "实现数据库连接与模型 (config/database.js, models/Price.js)", "实现数据导入脚本 (scripts/import-data.js)", "开发价格查询 API 接口 (routes/prices.js)", "编写单元测试与集成测试", "添加 ESLint 和 Prettier 配置", "创建 Docker 镜像与部署配置", "编写 API 文档 (Swagger/OpenAPI)" ], "tech_stack": { "backend": "Express.js (Node.js)", "database": "MySQL 8.0+", "data_format": "JSON", "api_style": "RESTful", "testing": "Jest + Supertest (planned)", "deployment": "Docker (planned)" }, "architecture_overview": { "layers": [ "数据采集层(我的钢铁网、钢厂官方、行业协会)", "数据处理层(JSON 解析、数据清洗、验证、转换)", "数据存储层(MySQL 数据库、索引优化、定时归档)", "服务接口层(Express.js REST API、价格查询、趋势分析)" ], "data_flow": "外部数据源 → JSON 文件 → 解析与清洗 → MySQL 数据库 → Express API → 客户端" }, "development_roadmap": { "phase_1": { "name": "基础搭建", "duration": "1-2 周", "tasks": [ "初始化 Node.js 项目", "创建数据库表结构", "实现 JSON 数据解析模块", "实现数据导入脚本", "基础 API 框架搭建" ] }, "phase_2": { "name": "核心功能", "duration": "2-3 周", "tasks": [ "价格查询 API(按地区、材质、日期)", "价格统计 API(平均价、最高价、最低价)", "趋势分析 API(涨跌幅、历史曲线)", "数据验证与清洗逻辑", "错误处理与日志记录" ] }, "phase_3": { "name": "增强功能", "duration": "1-2 周", "tasks": [ "定时任务自动采集数据", "数据变更通知", "数据导出功能(Excel、CSV)", "API 文档(Swagger)", "性能优化与缓存" ] }, "phase_4": { "name": "测试与部署", "duration": "1 周", "tasks": [ "单元测试覆盖", "集成测试", "Docker 容器化", "CI/CD 流程", "生产环境部署" ] } }, "data_assets": { "sources": [ { "name": "我的钢铁网", "file": "data/钢材网架.json", "records": 211, "regions": ["重庆", "成都", "广州", "南宁"], "updated": "2026-01-05" }, { "name": "德钢指导价", "file": "data/钢厂指导价.json", "records": 29987, "regions": ["玉溪", "昭通", "文山", "景洪", "蒙自"], "updated": "2025-09-04" }, { "name": "云南钢协", "file": "data/刚协指导价.json", "records": 900, "regions": ["昆明", "玉溪", "楚雄", "大理"], "updated": "2026-01-05" } ], "total_records": 31098, "data_format": "JSON with pagination wrapper", "quality_issues": [ "字段命名错误 (PIRCE_DATE 应为 PRICE_DATE)", "钢厂指导价数据日期较旧 (2025-09-04)", "不同文件字段略有差异" ] }, "truncated": false, "truncation_reason": null, "ignore_stats": { "ignored_dirs": [".git"], "ignored_files_count": 0, "total_ignored_size_kb": 0 }, "recommendations": { "immediate": [ "创建 package.json 并安装依赖", "设计 MySQL 数据库表结构", "实现数据导入脚本" ], "short_term": [ "搭建 Express.js 基础框架", "实现核心查询 API", "添加基础测试" ], "long_term": [ "实现自动化数据采集", "性能优化与缓存", "Docker 容器化部署" ] } }