Marko Bera
ENSR
Javi se

← Svi radovi · 05 / 06

Uplate doprinosa za FS Beograda

FSB Doprinosi

Sudim u Fudbalskom savezu Beograda. Posle svake utakmice sudije uplaćuju doprinos savezu, a kancelarija je to proveravala ručno, po izvodima. Napravio sam aplikaciju gde sudija vidi koliko i gde da uplati, a kancelarija vidi ko je platio.

Uloga
Sudija, dizajner i autor (neplaćeno, za svoj savez)
Status
Uživo
Period
Septembar 2026
Tehnologija
Python, Flask, Postgres (Supabase), Vercel
270
sudija uvezeno iz zvaničnog PDF imenika
42
lige se povlače automatski sa sajta saveza
212
utakmica u prvom praćenom kolu
264.930
dinara doprinosa praćeno tog kola

Video i ekrani

Deo za kancelariju: kolo po ligama, red za proveru, jedna utakmica, koga zvati. Demo podaci.

Problem

Glavni sudija plaća za celu ekipu, jedna uplata po utakmici. Iznos zavisi od lige i od broja sudija na utakmici. Rok je prvi sledeći radni dan, plus još dva. Kancelarija nije imala pregled ko je platio, pa je izvode čitala red po red.

Šta sam napravio

  • Za sudije, na telefonu: spisak utakmica za uplatu, tačan iznos iz cenovnika, račun i svrha uplate sa dugmetom „Kopiraj“ i slanje potvrde.
  • Za kancelariju, na računaru: kolo podeljeno po ligama, red za proveru, spisak koga treba zvati posle roka i izvoz u Excel.
  • Automatska delegiranja. Nismo imali ključ za nacionalni sistem, pa sam našao da sajt saveza javno objavljuje izveštaj svake utakmice sa celom sudijskom ekipom. Skripta čita poslednje kolo svih 42 lige, jednu ligu po zahtevu, da bi stala u Vercel ograničenja.
  • Postgres sa zaštitom na nivou reda (RLS), potvrde u privatnom skladištu, a lični podaci nikad ne idu u git.

Odluke

Prva verzija skripte je povlačila „sve nove utakmice“. Uvukla je 14 starih utakmica sa isteklim rokovima i to sam odbio. Sada povlači samo poslednje odigrano kolo, a odložene utakmice se dodaju ručno.

Prvi dizajn sam nazvao „low budget AI UI“, pa je napravljen iznova: svetao, jedan font, boje iz grba saveza, za sudije prvo telefon, a za kancelariju računar.

Sledeće

AI provera svake poslate potvrde (kolona već postoji u bazi) i IPS QR kod da sudija plati skeniranjem.

Šta sam ja odlučio

  • Sva poslovna pravila: ko plaća, rokovi, cenovnik, koje kolo se uvozi.
  • Sajt, a ne aplikacija, jer ga sudije otvaraju jednom nedeljno.
  • Nacionalni API nije potreban, jer postoje javni izveštaji utakmica.

Šta je uradio AI

  • Napravio Flask aplikaciju, prelazak na Postgres i skriptu za povlačenje.
  • Uvezao 270 sudija iz PDF-a.
  • Podesio Supabase, Vercel i automatsko objavljivanje.

Gde sam ga ispravio

  • Pretpostavio je da svaki sudija plaća svoj deo. Ispravio sam ga: glavni plaća za sve.
  • Uvezao je sve nove utakmice. Ograničio sam ga na poslednje kolo.
  • Prvi dizajn je bio generički. Tražio sam potpuni redizajn.

Sledeća studija

Lead Finder + dental sites