docs: update README with hype scoring and game importance details
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
48
README.md
48
README.md
@@ -1,19 +1,38 @@
|
|||||||
# NHL Scoreboard Web App
|
# NHL Scoreboard Web App
|
||||||
|
|
||||||
This web application displays live NHL game scores, team statistics, and game states in real-time. It retrieves data from the NHL API and presents it in a user-friendly interface.
|
A web application that displays live NHL game scores, team statistics, and game states in real-time. Retrieves data from the NHL API and surfaces the most interesting games first using a hype scoring algorithm.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Displays live NHL game scores.
|
- Live NHL game scores, shots on goal, and game state
|
||||||
- Sorts games based on priority to highlight the most exciting matchups.
|
- Power play indicators with live countdown clock
|
||||||
- Responsive design for desktop and mobile devices.
|
- Smooth period and intermission countdown clocks
|
||||||
|
- **Hype Meter** — ranks games by how exciting they are right now, factoring in:
|
||||||
|
- Period, time remaining, and score differential
|
||||||
|
- Late-game urgency and comeback bonuses
|
||||||
|
- Power play situations
|
||||||
|
- **Game importance** — boosts standings-relevant matchups late in the season, with extra weight for division and conference rivals fighting for playoff spots
|
||||||
|
|
||||||
|
## Hype Scoring
|
||||||
|
|
||||||
|
Games are sorted by a priority score combining in-game excitement and contextual importance:
|
||||||
|
|
||||||
|
| Factor | Description |
|
||||||
|
|---|---|
|
||||||
|
| Period & time | Later period and deeper into it = higher base score |
|
||||||
|
| Score differential | Close games rank higher; blowouts are penalized |
|
||||||
|
| Late urgency | Bonus for ties and 1-goal games in the final 12 minutes |
|
||||||
|
| Comeback | One-time spike when the trailing team scores to pull within 2 |
|
||||||
|
| Power play | Bonus for an active man advantage, scaling with game situation |
|
||||||
|
| Game importance | Season-progress × playoff-bubble proximity × rivalry multiplier (max +150 pts) |
|
||||||
|
|
||||||
|
Game importance ramps up sharply after ~game 55 of 82, peaks for teams fighting for the last wildcard spot, and applies a 1.4× bonus for division games and 1.2× for conference games.
|
||||||
|
|
||||||
## Technologies Used
|
## Technologies Used
|
||||||
|
|
||||||
- **Python**: Backend scripting language.
|
- **Python / Flask** — backend and API polling
|
||||||
- **Flask**: Web framework for Python.
|
- **SQLite** — standings cache (refreshed every 10 minutes)
|
||||||
- **HTML/CSS**: Frontend markup and styling.
|
- **HTML / CSS / JavaScript** — frontend with auto-refresh every 10 seconds
|
||||||
- **JavaScript**: Client-side scripting for auto-refresh functionality.
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -35,19 +54,12 @@ This web application displays live NHL game scores, team statistics, and game st
|
|||||||
python run.py
|
python run.py
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Open your web browser and navigate to `http://localhost:2897` to view the scoreboard.
|
4. Open `http://localhost:2897` in your browser.
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
- The scoreboard will display live NHL game scores, team statistics, and game states.
|
|
||||||
- Games are sorted based on priority to highlight the most exciting matchups.
|
|
||||||
- The page updates automatically every 10 seconds to show the latest data.
|
|
||||||
- Responsive design ensures a seamless experience on desktop and mobile devices.
|
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
Special thanks to the NHL for providing the data through their API.
|
Data provided by the NHL via their public API.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This project is licensed under the [MIT License](LICENSE).
|
[MIT License](LICENSE)
|
||||||
|
|||||||
Reference in New Issue
Block a user