Skip to content

WanAnUncommon/BetweenNations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Between Nations

一个把国际新闻关系可视化到世界地图上的网站原型。

项目最初需求来自 国家之间.md:自动抓取国际新闻,识别新闻涉及的多个国家,并在世界地图上用红线连接这些国家,帮助用户从新闻流里观察国家关系的活跃程度和国际局势变化。

当前效果

  • 整个浏览器页面是一张可拖动的世界地图
  • 地图上以红点标记国家,连线使用点到点弧线
  • 右侧悬浮新闻流,按发布时间倒序展示
  • 点击某条新闻时,只高亮该新闻对应的国家连线与关联国家
  • 每条新闻支持 中 / 英 切换
  • 支持 今天 / 近七天 / 近一年 / 全部 时间窗口筛选
  • 新闻展开后可查看摘要、关联国家和原文链接
  • 后端支持实时抓取 RSS,并在不可用时回退到本地缓存或示例数据

仓库结构

BetweenNations/
├─ 国家之间.md          # 原始需求说明
└─ Demo/                # 可运行的网站原型(前端 + Node 后端)

技术实现

Demo 目录目前是一个前后端一体的原型项目:

  • 前端:Vite + React
  • 地图:本地世界轮廓数据 + SVG 渲染
  • 后端:原生 Node.js HTTP 服务
  • 数据:实时 RSS、可选 NewsAPI、本地 runtime-cache.json、基础 mock-data.json

核心能力包括:

  • 国际新闻抓取与归一化
  • 新闻关联国家识别
  • 中英标题与摘要展示
  • 国家关系聚合与地图可视化
  • 前端首屏快速回退与后端缓存提速

快速开始

进入 Demo 目录后执行:

npm install
npm run api

默认后端地址:

http://127.0.0.1:4173

开发前端:

npm run dev

默认前端地址:

http://127.0.0.1:5173

构建生产资源:

npm run build

更详细的运行说明、接口说明和数据说明见 Demo/README.md

当前状态

这个仓库目前实现的是一个高保真原型,已经具备演示和继续产品化演进的基础,但仍然属于 demo 阶段:

  • 实时新闻源以 RSS 为主
  • 中文翻译采用“机器翻译优先,本地兜底”
  • 国家识别和新闻过滤已做了多轮优化,但仍可继续提高准确率
  • 地图点位已按首都或地区中心重新校准

后续可继续演进

  • 接入更稳定的实时国际新闻数据源
  • 引入更强的实体识别与关系抽取模型
  • 增加国家详情页、事件详情页和趋势分析图
  • 增加用户视角筛选、收藏、分享和导出能力

About

国家之间

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors