Files
steel_prices_service/.claude/index.json
2026-01-06 09:19:12 +08:00

272 lines
7.7 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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 容器化部署"
]
}
}