3.2 KiB
3.2 KiB
PGŽ SPORT — UPDATE — 29.04.2026 10:25 — Eventi + Stats Dashboard
Ovaj korak (parser v4 + dashboard)
Parser v4 — REAL EVENT TYPES
- Class signali:
<li class="goal/yellow/red/substitutionIn/substitutionOut/ownGoal"> data-personidattribute za HNS pid (cleaner od URL parsing)<div class="shirtNumber">za broj dresa<div class="playerPhoto">→<img>za sliku<div class="matchEvents">→<ul class="events">→ svi eventi po igraču- Minute estimation: starter + subOut(min) → minute=min, starter no sub → 90, bench + subIn(min) → minute=90-min
cmd_klub v2 + utakmice_log full stats
- Sad upisuje: pogodaka, zuti_kartoni, crveni_kartoni, minute, klub_dom_logo, klub_gost_logo
- ON CONFLICT update — idempotent
- max_matches=999 (cijela sezona)
- Fuzzy team-name matching (rješava klubove s "(B)" suffix-om)
klub_all FULL (background, in progress)
- 16 klubova × svih ~24 utakmica = scrape u tijeku
- Progres na 6 / 16 klubova završeno (klub_all još radi)
- Trenutni state: 1804 redaka utakmice_log, 146 igrača, 99 utakmica, 170 golova, 192 žutih, 5 crvenih
- Završetak: ~7 min (oko 10:30 CET)
Backend dashboard
/api/v2/dashboard/sport-stats— summary KPI + top_scorers + top_appearances + most_carded + klub_breakdown + recent_matches
Frontend pageSportStats
- Sidebar: NAV "⚽ Sport Stats" (zamijenila "Statistika")
- KPI grid (9 KPI brojeva)
- Top strijelci (foto + ime + klub + golovi + nast)
- Top nastupi (foto + ime + klub + nast + minute)
- Najviše kartona (žuti × 1 + crveni × 2 weight)
- Zadnje utakmice (datum + natjecanje + dom logo + rezultat + gost logo)
- Klik na bilo kojeg igrača → pageSportas profil
Trenutni live stats (running klub_all)
- ⚽ 170 golova zabilježeno
- 🟨 192 žuta kartona
- 🟥 5 crvenih kartona
- 99 utakmica × 16 igrača avg = ~1600 nastupa (1804 stvarno)
TOP 3 strijelca (mid-run)
- Marko Jelić (NK Krk) — 9 golova / 8 nastupa
- Niko Maksić (NK Klana) — 9 golova / 8 nastupa
- Ivan Laginja (NK Klana) — 6 golova / 5 nastupa
URL-ovi
- https://api.rinet.one/sport/ → sidebar "⚽ Sport Stats"
- https://api.rinet.one/sport/ → sidebar "Igrači · Foto"
- https://api.rinet.one/sport/api/v2/dashboard/sport-stats — JSON dashboard
- https://api.rinet.one/sport/api/v2/sportas/{id}/profile — semafor profil
Što JE u Qdrantu
- pgz_sport_v1: ~57500 točaka (savezi + klubovi + sportaši)
- AI search radi na cijeli PGŽ sport ekosustav
TODO
- Cron poboljšan: trenutno daily HNS u 04:00 → može pokupiti nove utakmice. Ali
cmd_dailypoziva samocmd_playerna poznate. Treba ga prepraviti da pozivacmd_klub_alljednom tjedno (subota?) za nove rosters. - HRS (rukomet) scraper — HRS portal (hrs.hr) nema semafor-style stranicu. Treba istražiti druge izvore (npr. eurohandball.com, mreza-handball.com, ili scraping league-page sa prijavljenim igračima).
- HKS (košarka) — slično. Treba istražiti.
- HVS (odbojka) — treba istražiti.
- NK Doker / HNK Kozala fix — bez rostera. Možda je naziv u HNS drugačiji (B team itd.). Fuzzy match v2 trebao bi pomoći.
- Frontend: klub-link UI, permissions matrix UI, ručni unos sportaša za klubove.