# CBPOA — 武汉儿童呼吸疾病风险评估系统 FastAPI + React + `@geoscene/core` + PyTorch GCN pipeline. 预测空气质量对儿童健康的空间风险。 ## Development ```bash # Frontend (pnpm) cd frontend && pnpm dev # localhost:3000 → proxies /api to :8000 # Backend (Python venv) cd backend && uvicorn main:app --reload # localhost:8000 # ML pipeline cd scripts && python train_model.py # PyTorch + MLflow ``` ## Where to Look | Task | Location | |------|----------| | API endpoint | `backend/routers/` | | Database / PostGIS | `backend/database.py` | | UI component | `frontend/src/components/` | | GeoScene map helpers | `frontend/src/geoscene/` | | Page view | `frontend/src/pages/` | | API client / cache | `frontend/src/services/api.ts` | | State management | `frontend/src/stores/` | | TypeScript types | `frontend/src/types/` | | ETL / data processing | `scripts/` | | ML model architecture | `models/spatiotemporal_gcn/` | | Trained weights | `models/spatiotemporal_gcn/best_model.pt` | | Processed features | `processed/` | | Raw data sources | `Datas/` | | Docker / deploy | `deploy/` | ## Data Sources | Data | Path | Notes | |------|------|-------| | 气象+空气 | `Datas/气象+空气/站点_*.csv` | 3yr, 2192 files, ~2.37M rows | | 门诊 | `Datas/view_门诊.xlsx` | 107,579 rows | | 住院 | `Datas/view_住院.xlsx` | 5,822 rows | | DEM高程 | `Datas/DEM/CJJJD_DEM.TIF` | 3.1GB raster | | 人口密度 | `Datas/landscan-hd-china-v1-assets/*.tif` | 284MB | | 行政边界 | `Datas/武汉市.geojson` | Wuhan boundary | ## ML Pipeline ``` 气象(时间序列) + 站点坐标 + DEM高程 + 人口密度 → SpatialTemporalGCN → 风险预测 [1d, 3d, 7d] ``` ## Agent Workflow Explore finds → Librarian reads → You plan → Worker implements → Validator checks Context-specific guidance lives in nested CLAUDE.md files — they load automatically when you work in those directories. Closest CLAUDE.md to the file being edited takes precedence.