Samuel Enocsson 1a5b3b9fb4 Implement database-first architecture with user-controlled refresh
- Make database the single source of truth (no automatic cache expiration)
- Page loads now instant: read ratings + predictions directly from DB
- Remove automatic PDGA scraping on page load for performance
- Only scrape PDGA when user explicitly clicks refresh icons
- Add getPlayerDataFromDB() for fast DB-only player loading
- Separate scrapePDGARating() for explicit refresh operations only
- Remove delays from page load path (DB reads don't need rate limiting)
- Skip players not in DB rather than auto-scraping on page load
- User controls data freshness via refresh buttons

Performance: Page loads ~5+ minutes → instant DB reads
User experience: Predictable, fast, user-controlled data freshness

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 09:34:03 +02:00

PDGA Ratings Scraper

A web application that scrapes PDGA player ratings and displays them in a sorted table.

Setup

  1. Install dependencies:
npm install
  1. Add PDGA numbers to pdga-numbers.txt (one per line)

  2. Start the server:

npm start
  1. Open http://localhost:3000 in your browser

Usage

  • Edit pdga-numbers.txt to add/remove players
  • Click "Refresh Ratings" to scrape current ratings
  • Players are automatically sorted by rating (highest first)

Features

  • Web scraping of PDGA player ratings
  • Sortable table display
  • Easy player management via text file
  • Real-time rating updates
S
Description
Find rating for known players
Readme 1.4 MiB
Languages
JavaScript 63.8%
CSS 21.7%
EJS 14.2%
Dockerfile 0.3%