PGŽ Sport Platform — Round 1+2 baseline (sport2.html + API)
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
# 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=
|
||||
Reference in New Issue
Block a user