Skip to content

zhwryan/data-points

Repository files navigation

Basketball Stats Tracker | 篮球比赛数据采集系统

netlify:ryan87

Project Status: Active Framework: React 19 Language: TypeScript

项目简介

这是一个专为篮球比赛设计的实时数据采集与统计系统。它不仅支持基础的得分与篮板记录,还集成了外部数据源接入、自动化日志解析以及多格式数据导出功能,旨在为量化分析与赛事媒体提供精准、结构化的底层数据。

核心功能

  • 📊 实时打点采集: 支持罚球、两分、三分(命中/不中)、篮板、助攻、抢断、盖帽、失误、犯规等全维度数据记录。
  • 🔌 自动化数据接入: 通过 MatchDataService 自动从外部 API(支持 URL 或 MatchID)爬取并解析球队阵容与实时比分。
  • 📜 智能化日志管理:
    • 支持历史记录的撤销 (Undo) 与重做 (Redo)。
    • 支持日志文本的批量导入与增量更新,具备自动识别节次与比分校准功能。
  • 📂 多维度数据导出:
    • Excel: 导出结构化的球员统计报表。
    • JSON/ZIP: 导出完整的比赛打点原始序列,方便后续量化分析。
    • Text Log: 导出可读性强的比赛文字直播流。
  • ⏱️ 精准时间管理: 自动处理比赛暂停与继续,确保每一个动作的时间戳符合逻辑。
  • ✨ 特色标记: 内置“五佳球”与“五大囧”标记,满足媒体剪辑需求。

技术栈

架构设计亮点

  • 领域模型驱动: 核心逻辑基于 StatTypeGameAction 接口定义,确保了数据结构的高度一致性。
  • 防御性编程: 在 MatchDataService 中实现了健壮的 URL 解析逻辑,支持多种格式的输入。
  • 解耦设计: UI 层与数据采集服务通过 MatchDataService 完全解耦,便于后续扩展更多运动类型(如足球)。
  • 持久化策略: 使用 localStorage 实现页面刷新的无损恢复。

快速开始

环境要求

  • Node.js (建议 v18+)
  • npm 或 yarn

本地开发

  1. 克隆仓库:
    git clone https://github.com/zhenghongwei/data-points.git
    cd data-points
  2. 安装依赖:
    npm install
  3. 启动开发服务器:
    npm run dev

构建与部署

项目已配置 Netlify 自动化部署流程。

npm run build

生成的 dist 目录可直接部署至任何静态托管平台,Netlify 函数请参考 netlify.toml 配置。

About

数据打点工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •