# 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 - Frontend: https://api.rinet.one/sport/ - Sport Stats: https://api.rinet.one/sport/api/v2/dashboard/sport-stats - Klub roster: https://api.rinet.one/sport/api/v2/klub/{id}/sportasi - Sportaš profil: https://api.rinet.one/sport/api/v2/sportas/{id}/profile - Sportaš pretraga: https://api.rinet.one/sport/api/v2/sportas/search?q=