後端工程 Portfolio

CPBL Analytics

從零打造的棒球數據系統

雙資料源 ETL pipeline、RESTful API、互動式 Dashboard、自動化 CI/CD。 基於 Rebas Open Data + CPBL 官網公開資料。

370
場比賽
110K
逐球事件
17
API Endpoints
129
測試
85%
覆蓋率
每日
自動更新
NEW

wRC+ 打者排行 — 2025 CPBL

加權得分創造指數(含 Park Factor 球場修正),以 100 為聯盟平均。86 位合格打者完整排名。

151.7
魔鷹
145.6
林安可
142.2
張育成
查看完整排行 →

棒球知識:分析模組

8 個進階數據分析模組,展示對棒球賽伯計量學的理解與應用。

LOB% 分析

殘壘率反映投手運氣成分,可預測 ERA 回歸方向。

查看 →

投手疲勞曲線

按投球數區間追蹤表現衰退,自動偵測疲勞臨界點。

查看 →

關鍵時刻表現

高壓情境打擊 vs 整體表現,基於 RE24 矩陣的 Leverage Index。

查看 →

球數分析

不同球數情境下的打者/投手表現差異:領先、落後、平球數、兩好球。

查看 →
NEW

Park Factor

球場因子分析:樂天桃園 PF=1.12 是打者天堂,大巨蛋 PF=0.86 是投手樂園。

查看 →
NEW

BABIP 回歸

場內球打擊率的回歸均值分析。上半季 BABIP 極端者,下半季幾乎必然回歸。

查看 →
NEW

半季分割

上下半季 wOBA/OPS 差異比較。誰下半季爆發?誰下半季崩盤?

查看 →

數據分析文章

工程架構

🔄

ETL 資料管線

Rebas JSON + CPBL API 雙資料源整合。Rate limiting、磁碟快取、冪等載入、球員名稱模糊比對。

查看架構 →
🔌

API 設計

17 個 RESTful endpoints。FastAPI + Pydantic v2 schema 驗證、型別化回應、CORS、health check。

查看 API 文件 →
🗃

資料庫

8 張表、15+ 索引、WAL mode。分析快取層、球員對照表模糊 join。

查看 Schema →

DevOps

Docker multi-stage build。GitHub Actions CI + 每日 cron ETL。Cloudflare Pages push 自動部署。

查看流程 →

技術棧

後端 Python 3.12, FastAPI, SQLAlchemy, SQLite
前端 ECharts 5.4.3, Tailwind CSS
DevOps Docker, GitHub Actions, Cloudflare Pages
資料來源 Rebas Open Data + CPBL 官網公開資料