一个完全独立的新目录项目,面向 DPP / CBAM 场景,提供:
- 分品类 Dashboard
- CBAM / DPP / Battery Passport 新闻流
- 可静态部署的网站产物
- 可切换 provider 的 FastAPI 数据后端
当前默认交付方式是静态站优先:
- 前端构建时直接读取 JSON
- 默认产物是可直接部署的静态文件
- 后端负责数据聚合、静态导出和未来动态 API
- 展现需 DPP 申报数据的数量分品类 Dashboard
- 展现 CBAM / DPP / Battery Passport 相关行业新闻和动态
- 聚合现有 DPP 业务测算、海关数量和 HS 查询缺口
- 支持静态导出与 GitHub Pages / GitCode Pages 部署
- 支持 provider 抽象,便于未来切换 CSV、数据库、远程 API、RSS 或爬虫来源
dpp-market-intel/
├── .github/workflows/ # GitHub Pages 自动部署
├── AGENTS.md # 项目协作说明
├── backend/
│ ├── app/
│ ├── scripts/
│ ├── main.py
│ ├── news_seed.json
│ ├── requirements.txt
│ └── README.md
├── docs/
│ ├── README.md
│ ├── api-spec.md
│ ├── json-structure.md
│ └── provider-strategy.md
├── frontend/
│ ├── app/
│ ├── components/
│ ├── lib/
│ ├── public/data/
│ ├── package.json
│ └── README.md
└── README.md
cd dpp-market-intel/backend
python3 -m pip install -r requirements.txtcd dpp-market-intel/backend
python3 scripts/export_static_data.pycd dpp-market-intel/frontend
pnpm installcd dpp-market-intel/frontend
pnpm devcd dpp-market-intel/frontend
pnpm build静态输出目录为 frontend/out。
项目已提供:
.github/workflows/deploy-pages.yml
推送到 main 后会自动:
- 安装 backend / frontend 依赖
- 导出静态 JSON
- 构建静态站
- 发布
frontend/out
将 frontend/out 作为静态发布目录即可。
后端当前采用 provider 工厂模式:
DASHBOARD_PROVIDER=csvNEWS_PROVIDER=json_seed
当前已实现:
- Dashboard: CSV provider
- Dashboard: SQLite provider
- News: JSON seed provider
- News: RSS provider
未来可以继续增加:
- Dashboard: database / remote_api
- News: rss / crawler / cms
前提是不破坏文档里定义的 JSON schema。
cd dpp-market-intel/backend
python3 scripts/bootstrap_dashboard_db.py
export DASHBOARD_PROVIDER=sqlite
export DASHBOARD_DATABASE_PATH=data/dashboard.db
python3 run.pycd dpp-market-intel/backend
export NEWS_PROVIDER=rss
export NEWS_RSS_FEEDS=https://example.com/feed.xml
python3 run.py