Faceoff: Theo dõi trực tiếp các trận đấu NHL ngay trên giao diện dòng lệnh
Faceoff là một ứng dụng giao diện dòng lệnh (TUI) viết bằng Python, cho phép người hâm mộ theo dõi trực tiếp các trận đấu khúc côn cầu NHL, xem bảng xếp hạng và thống kê cầu thủ ngay trong terminal. Công cụ này được xây dựng trên framework Textual và sử dụng dữ liệu từ API chính thức của NHL, mang lại trải nghiệm tối giản nhưng đầy đủ thông tin.
Faceoff: Theo dõi trực tiếp các trận đấu NHL ngay trên giao diện dòng lệnh
Đối với những người làm việc phát triển phần mềm hay những người yêu thích giao diện dòng lệnh (terminal), việc thoát khỏi môi trường làm việc quen thuộc chỉ để kiểm tra tỷ số trận đấu có thể là một sự gián đoạn không cần thiết. Faceoff là một ứng dụng Terminal User Interface (TUI) mới viết bằng Python, giải quyết vấn đề này bằng cách mang trực tiếp các trận đấu khúc côn cầu NHL (National Hockey League) đến ngay cửa sổ terminal của bạn.
Được lấy cảm hứng từ Playball – một ứng dụng tương tự cho giải bóng chày MLB, Faceoff cung cấp giao diện trực quan để theo dõi lịch thi đấu, tỷ số thời gian thực và các số liệu thống kê chi tiết mà không cần rời khỏi bàn phím.
Giao diện chi tiết trận đấu trên Faceoff
Các tính năng chính của Faceoff
Ứng dụng này không chỉ đơn thuần hiển thị tỷ số, mà còn cung cấp một bộ công cụ toàn diện cho người hâm mộ NHL:
- Lịch thi đấu trực tiếp: Duyệt các trận đấu theo ngày với khả năng chuyển đổi ngày trước/sau một cách dễ dàng.
- Cập nhật thời gian thực: Tỷ số của các trận đấu đang diễn ra sẽ được tự động làm mới.
- Chi tiết trận đấu: Xem diễn biến từng pha bóng (play-by-play), bảng thống kê trận đấu (box scores) và tóm tắt các bàn thắng cho các trận đang diễn ra hoặc đã kết thúc.
- Xem trước trận đấu: Cung cấp thông tin đối đầu, bao gồm so sánh thủ môn và các cầu thủ xuất sắc nhất trước khi trận đấu bắt đầu.
- Bảng xếp hạng giải đấu: Xem bảng xếp hạng hiện tại của NHL với nhiều chế độ xem khác nhau (Wild Card, Division, Conference, League).
- Thống kê cầu thủ: Xem danh sách các cầu thủ dẫn đầu ở nhiều hạng mục thống kê khác nhau cho cả tiền đạo và thủ môn.
- Duyệt đội bóng: Xem danh sách tất cả các đội NHL, đội hình và lịch thi đấu của từng đội.
- Hồ sơ cầu thủ: Xem thông tin chi tiết, thống kê sự nghiệp và lịch sử thi đấu của từng cầu thủ.
- Giao diện thích ứng: Các thẻ trận đấu và bảng xếp hạng tự động sắp xếp dựa trên chiều rộng của terminal.
- Hiển thị giờ địa phương: Thời gian trận đấu được hiển thị theo múi giờ địa phương của bạn.
Giao diện bảng xếp hạng giải đấu
Công nghệ và Cách cài đặt
Faceoff được xây dựng chủ yếu bằng Python, sử dụng framework Textual hiện đại để tạo ra giao diện người dạng văn bản đẹp mắt và tương tác cao. Ứng dụng sử dụng nhl-stats-api-client để lấy dữ liệu từ API công khai của NHL.
Điều thú vị là tác giả chia sẻ rằng dự án này được "vibe-coded" (viết code với sự hỗ trợ mạnh mẽ của AI) bằng Claude Code. Thay vì tạo ra toàn bộ ứng dụng trong một lệnh, tác giả đã tương tác liên tục với AI để thêm tính năng và sửa lỗi trong quá trình phát triển.
Để trải nghiệm Faceoff, bạn có thể cài đặt nhanh chóng thông qua uvx (cần công cụ uv):
uvx faceoff
Hoặc cài đặt trực tiếp qua pip:
pip install faceoff
faceoff
Đây là một công cụ tuyệt vời cho những ai muốn kết hợp đam mê thể thao với phong cách làm việc tối giản trên dòng lệnh.
Giao diện duyệt đội bóng
Lưu ý: Dự án này không liên kết, được bảo trợ hay kết nối chính thức với National Hockey League (NHL) hay bất kỳ đội bóng nào. Tất cả logo, thương hiệu và dữ liệu của NHL là tài sản của giải đấu và các đội bóng thuộc sở hữu của họ. Ứng dụng chỉ sử dụng dữ liệu API công khai nhằm mục đích thông tin và giáo dục.



