Files
pgz-sport/_handoff/HANDOFF_20260429_1053.md
T

4.6 KiB
Raw Blame History

PGŽ SPORT — UPDATE — 29.04.2026 11:00 — Multi-sport coverage

Što je dodano u nastavku

1. Parser v4 + cijela sezona scrape — HNS COMPLETE

  • klub_all FULL: 16 klubova × svih ~24 utakmica
  • 5017 utakmice_log redaka, 244 utakmica, 503 golova, 533 žuta, 12 crvenih kartona
  • Top scorers: Antonio Frlan (HNK Goranin) 18 golova, Antonio Džaja (NK Mune) 14, Patrik Vidmar (HNK Lovran) 13
  • Real time stats: minute, goals, cards po igraču po utakmici

2. Backend: /api/v2/dashboard/sport-stats

  • KPI summary, top_scorers, top_appearances, most_carded, klub_breakdown, recent_matches

3. Frontend: pageSportStats ( Sport Stats)

  • Sidebar nav stavka, KPI grid, top tablice (clickable → profil)

4. Backend: /api/v2/sportas/create

  • RBAC: klub_admin može dodati u svoj klub, savez_admin u svoj savez
  • Punih 13 polja (ime, prezime, klub_id, datum_rodenja, mjesto, broj_dresa, pozicija, dominantna_noga, visina, težina, slika_url, oib, biografija, reprezentativac)

5. Backend: /api/v2/utakmice/log

  • Klub admin može unijeti utakmicu po sportašu
  • pogoci, žuti, crveni, minute, starter, klub_dom, klub_gost, rezultat

6. Frontend: spAddNew modal — ručni unos sportaša

  • Klikom na "+ Novi sportaš" u Sportaši grid stranici
  • Klub admin može dodati u svoj klub, pgz_admin u bilo koji
  • Auto-redirect na profil novog sportaša

7. HBS BOĆARSKI SCRAPER

  • /opt/pgz-sport/scrapers/hbs_bocar.py
  • Format: "N. E-XXXX, Ime Prezime, GGGG." iz "Popis igrača" sekcije
  • 45/81 PGŽ boćarskih klubova mapirano (svi koji su u HBS popisu)
  • 674 boćara scrape-ano s registracijskim brojem (E-XXXX) + godina rođenja
  • Klub OIB i web stranica također scrape-ani

8. Cron extensions

  • 30 3 * * 6 — Weekly HBS boćarski sweep (subota 03:30)
  • 30 3 * * 0 — Weekly HNS klub_all rosters refresh (nedjelja 03:30)

STATE NAKON RUN-A

Sportaši (ukupno 1129 scrape-anih + manualno)

  • HNS Semafor: 408 nogometaši (s utakmicama, golovima, kartonima)
  • HBS savez: 674 boćari (s reg. brojem, godina rođenja)
  • Manualno: 47 (test + ranija)

Po sportu

  • Boćanje: 647 sportaša (najviše!)
  • Nogomet: 421 sportaša
  • 🤾 Rukomet: 21
  • 🏀 Košarka: 7
  • 🤽 Vaterpolo: 6

Utakmice

  • 244 utakmica scrape-anih (sve HNS)
  • 5017 utakmice_log redaka
  • 503 golova, 533 žutih, 12 crvenih

Embedding

  • Qdrant pgz_sport_v1: ~58500 točaka
  • 220 savezi + 1637 klubovi + 1129+ sportaša

ŠTO RADI / NE RADI po savezu

Savez Status Komentar
HNS (nogomet) FULL semafor.hns.family — full lineup + events
HBS (boćanje) FULL hrvatski-bocarski-savez.hr/klubovi/{slug}/
HRS (rukomet) Nema javni player portal
HKS (košarka) kosarkapgz.com je vijesti, nema rosters
HAS (atletika) ⚠️ Klubovi imaju samo adresu, nema igrača (klubovi ih drže privatno)
HVS (odbojka) Portal mali, bez rosters
HSTS (stolni tenis) ⚠️ Ima klub standings ali ne igrače
HJS (jedrenje) ⚠️ Ima "Verificirani jedriličari" — TODO scraper
HVS (vaterpolo) Nema dostupan portal
HPS (plivanje) 403

UNIVERZALNI FALLBACK

  • Klub admin može ručno dodati sportaše kroz "+ Novi sportaš" gumb u Sportaši grid (Igrači · Foto stranica)
  • Klub admin može logirati utakmicu kroz /api/v2/utakmice/log (frontend forma — TODO)
  • pgz_admin može dodati u bilo koji klub
  • savez_admin može dodati u klubove svojeg saveza

FRONTEND PAGE-OVI (svi live)

  • Sport Stats — top scorers/appearances/cards/recent matches
  • 👥 Igrači · Foto — galerija svih sportaša s pretragom + dodavanje
  • 🔐 Korisnici i prava — full CRUD (edit/reset/toggle/unlock/impersonate/audit)
  • Ostali postojeći sport pages

TODO za sljedeće

  1. HJS verificirani jedriličari — duplji scrape registra
  2. HSTS rezultati — match-by-match s individualnim igračima
  3. Frontend utakmica unos — modal za klub admin da unese utakmicu
  4. HRS — možda e-mail HRS-u za API pristup
  5. Klub-link UI + Permissions matrix UI
  6. Sportaš ručni unos prošireno: profil photo upload, datum_pristupa, datum_napustanja
  7. Dashboard widget "Sportaši po sportu" (pie chart)

KORISNI URL-ovi