Open source betting script

Evo o ovom sam već ovdje pisao dosta pa vrijeme da i završi u ovoj temi jer je licenca skripte stavljena u Open Source, konkretnije GPL 2.
Uzeo sam GPL jer sam relativno malo bolje upoznat sa njome to je bio jedini razlog a omogućava onom tko ju koristi da ima velika prava nad kodom.

Skripta je starija pa se vrti u starijoj tehnologiji i mislim da nije loše napisana odnsno kod je relativno rečeno uređen.
Zadnji par dana sam radio refatoring i zbog toga su mogući bugovi.
Danas će tokom danas sav novi kod završiti online.
Za sada je online neistestirana verzija.
Ova nova verzja je puno jednostavnija.
Napraviti ću još vjerovatno Joomla componente za admin sučelje i front end ali to će sve biti u RIA i manje više neovisno o Joomli.

Sučelje postoji u Zend framework u Flexu (Flash) . Admin je u Flexu.
Danas će i svi primjeri biti online i probati ću napraviti neki plug and play instalacijsko sučelje.

Tu je i facebook verzija koja nije istestirana i facebook je doživio toliko promjena zadnjih godina da je pitanje dali će raditi te od fejsbuka samo uzima podatke o korisniku.

Planiram ići sa izgradnjom nove verzije koja će biti više fleksiblinija i spremnija za suradnju sa drugim tehnologijama. Te se planiram posvetiti izgradnji kvalitetnijih statističkih izvještaja u frontendu. To će biti fokus 2.0 verzije.
No dobar dio koda će ostati isti, samo će biti malo bolje uređen i biti će kvalitetnija arhiktetura. I izbaciti ovisnost o Zend frameoworku na tome će biti najveći fokus (iako će se koristiti Zend Db model).

Tako ako netko želi sudjelovati ili koristiti ovdje je link:

https://code.google.com/p/bet-script/

Evo stavljeni tutoriali za admin i primjeri.
Prijetio sam da je vjerovatno netko sa ovog forma preuzeo verzije od 20mg, to nije bilo istestirano i nije bilo očišćeno pa ako nađe vremena neka skine noviji download koji je srezan na koja 3 mb i kod je istestiran.

ja sam bio skidao^^

100 downloads!
A nije puno ali psihološka barijera probijena.
No niti jedan upit za neki problem, izgleda da je sve tako jednostavno:)

500+:)
Verzija 2.0 alpha je gore. Više nema Flasha:(,.
PHP/MySQL/YUI 3/HTML, sve isprogramirano iz nule, nema drugih frameworka niti rješenja osim naravno YUI 3 te dio Zenda za validaciju.
Software više nije temeljen kao skripta nego kao servis, HTML i JSON.
HTML servis za widgete tipa ponuda i sl, te JSON servis za za podatke. Razlog je jednostavan tako je skripta dosta fleksibilna za lakšu ugradnju u drugi software.
Za sad je alpha verzija jer neke stvari koje sam zamislio još fale (recimo engine za sortiranje), te treba još poraditi na sigurnosti i UI-u.

Bilo je dosta teško završiti uz poslove sa strane lakše je kad se može koncentirati samo na jedan posao, no bilo je zanimljivo izgraditi sofware iz totalne nule (iako je i verzija 1.0 bile iz nule ali na klijent strani) i sad razumijem zašto dosta developera ipak ne želi razvijati svoj sofware. Neke totalne gluposti koje developeri uzimaju zdravo za gotovo ipak zahtjevaju puno više pažnje.

Naučio sam i pravu vrijednost loose coupilnga, ipak je jedna stvar to vidjeti na drugim rješenjima a malo je drugačije kad ti tako nešto otvara mogučnost refactoriranja koda u toku razvoja u malo vremena. Ipak nije na nekoj zavidnoj razini no ključni djelovi koda odvojeni su dovoljno da bi se ostvarile neke prednsosti.

Iako su kladinice ustvari same po sebi jednostavne, samo ponuda, kreiranje ponude i ubacivanje rezulata ili klađenja ipak postoji dosta logike koju treba uskladi na backednu.

I za razliku od prve verzije koje je imala 12000 linija koda na bazi (to je isto bilo fino učenje SQL-a), ova verzija ima samo kojih 15 tablica, i nema niti jedne naprednije opcije u sql sve ostalo je napravljeno u vlastitom ORM, za kojeg sam čak i napravio model generator.
Zato i sučelje vjerovatno izgleda jednolično i dosadno jer se je sa vlastitim ORM izrada sučelja mogla automatizirati dobrim dijelom.
Odnosno onog trena kad sam imao kod za uređivanje jedne tablice imao sam kod za uređivanje svih tablica.

Link je još uvijek isti:

https://code.google.com/p/bet-script/

Lijepa zamisao, imam par sugestija i nađene probleme… sve sam gledao na demo stranici…

http://ch-slike.com/images/oOCyW.png

Zasto ti se menu pod-item-i tako sporo prikazuju, treba barem sekunda kad dodjem kurzorom nad item, koristim google chrome, a ista stvar je i na IE i Maxthonu…

Vidim da imas style koda u body-u koji nista ne radi, tj browser ga niti ne prepoznaje(u admin dijelu)…
Kod filtriranja mogu staviti od veceg datuma k manjem, to bi makar javascriptom trebao provjeravat i sprijeciti fitriranje.

Ima tu jos puno posla, no ideja mi se svidja, zasto ne napravis i testnu verziju u obliku komponente za joomlu, mislim da bi to bio pravi pogodak!?

Znači oklade su moguće samo na stvari koje admin doda u bet scriptu?

Neznam što je sa menu-om znam da ima neki pauzu uključeno, na FF mi radi normano nisam testirao na drugima kako to primjenjuju.
A filtriranje to bi trebalo rješiti ali nisam išao tako daleko, samo validacijske greške.
Ovo što se događa da tablicu izbaci iznad sadržaja to je neki bug koji je mislim vezan uz nešto zbog čeka bi trebalo unaprijediti čitavu aplikaciju tako da mislim da će se riješiti putem, no ako se kladionica koristi kao servis onda toga buga niti nebi trebalo biti.

Ima dosta toga za napraviti jer sam barem 80% vremena potrošio da bi izgradio framework od aplikacije a onih sitnih 20% je u biti bio samo rad na aplikaciji.

A integracija sa Joomlom bi trebala biti jednostavna trebalo bi samo napraviti componente unutar kojeg bio se preko ajaxa zvali podaci iz kladionice, no takve stvari ostavljam za vrijeme kad će sve biti ispeglano. Baš sam gledao što kladionice nude, i osnovni nude vrlo malo što se tiče klađenje, čak što se tiče dijela pregledavanja uplata/oklada nemaju ništa naprednije izvedeno.
Zato u osnovi i nije neki problem napraviti one osnovne korake koje bi trebala imati takva skripta ali sa CMS tipa Joomla stvarno dobiva na vrijednosti.

Da, dodavanje oklada je puno pojednostavljeno za razliku od prijašnje verzije.
I funkcionira na jednostavan način prvo treba napraviti event, recimo Dinamo - Rijeka, i onda dalje dodovanje Dinamo - Rijeka 1x2 itd.
Mislim da se trenutačno na stranici prikazuju sve oklade, a ne samo one kojima vrijeme nije isteklo, no to nije toliko problem za riješiti, a i nemože se kladiti na istekle oklade.

Aha, mozda onda suggestion da se nekak ta ponuda sama generira. Recimo da je skine sa sajta nekog ili nekak tak… Jer dodavanje svake utakmice manualno je problem i vecina ljudi to nebi radila… A druga opcija je da kladionicar sam doda bilo koju utakmicu…

IMO skripta je namjenjena jako malom broju korisnika. To je kladionica, dakle namjenjena je kladionicama, no one ce koristiti svoju skriptu. Dakle njima nije namjenjena. Kladionicarima nije namjenjena isto jer oni zele razmjenu pickova a ne da dodaju cijeli dan utakmice i odredjuju koeficijente i ostalo. Oni zele jednu dve utakmcie koje mogu sami unjet i opisat sadrzaj.

Ako sam dobro skuzio ova je skripta namjenjena za zabavu ljudima koji se nezele kockati nego da se tak natjecu za foru u svojoj kladionici… (u hrvatskoj ili na balkanu takvih nema, mozda tamo gore u svedskoj norveskoj, ali ovi nasi se vole kockati a ne natjecati)

Bio sam svjestan sa tim problemom kojeg si opisao jer i skripta pa čak i sa automatskim kreiranjem oklada opet je prenaporana za vođenje zbog unosa rezultata.
Zato mi je i pala ta ideja da bude izgrađeno kao servis a ne kao skripta kao što je prijašnja verzija i time da ljudi mogu lakše obogatiti ponudu svoje sportske stranice ili slično. E sad tu će trebati proraditi na dokumentaciji da se to fino ljudima prikaže, ali još nije gotovo pa dokumentacija mora pričekati.
Zato recimo filtriranje nema validacije i izgleda prilično jednostvno ali iza toga je mali filtering engine koji omogučava kreiranje vlastitih upita na ponudu preko request.

Recimo za primjer url servisa jest:
Ako se pošalje no ovaj link ?controller=servicejson&action=modelcollection
request koji sadrži jedan od sljedečih vrijednosti:

Novac veći od vrijednosti
{“group”:“money”,“operator”:“and”,“comparison”:">",“name”:“money”}

Novac manji od vrijednosti
{“group”:“money”,“operator”:“and”,“comparison”:"<",“name”:“money”}

Novac jednako nula request, ali ovaj gore ima svoju group, piše money (“group:money”) i a ovaj dolje spada u grupu defalut i sad pošto svaka groupa ima ima i svoj operator na temelju koje se grupe razdvajaju (to je poseban parametar) dobiva se engine za filtriranje.
{“group”:“default”,“operator”:“or”,“comparison”:"=",“name”:“money”}

Znaći ovi gornji parametri će se u servisu pretvoriti u

((money > vrijednost and money< vrijednost) or (money =0));

I to je smjer u kojem će se skripta razvijati, same mogučnosti koje kladionice pružaju su prilično jednostavne, a time što se razvija kao servis, tu bi trebao biti neki prostor da se skripta razvije pa čak i kao software koji nema veze sa kladionicom.

Ok a tko ce koristiti tu skriptu i za sto?

Jednostavno ne razumijem zasto bi netko koristio ovu skriptu? Znam kako funkcionira ali zasto da je ljudi koriste? Recimo ja bih koristio skriptu koja nudi neki betting competition tipa kao sto vec ima dosta stranica… ali ova skripta nije ni priblizno tome. Ova je vise kao football soccer league, onak za djecu da predvidjaju rezultate za bodove…

Mozda sam dosadan ali betting scripte me oduvijek zanimaju, a u ovoj nevidim razloga da posotoji jer uopce mi ne pada na pemt tko bi je i kako koristio, pa stoga postavljam pitanje da si mozda fulao princip skripte. Mislim vjerujem da ona funkcionira i sve to ali poznavajuci betting trziste mislim da je ovo skripta za velike kladionica kao sto su fortuna, supersport i tako to, a vjeruj mi da one nece koristiti ovu skriptu.

EDIT: a ako pak je na tome da svatko vodi svoju kladionicu onda moram rec da je to ilegalno, barem javno voditi kladionicu bez papira.

Pa nije baš da nema primjera gdje se ovako nešto može koristiti jer većina foruma u HR, ali i dosta sportskih stranica cijeli dio klađenja vodi na temelju teksta (čak i index.hr, forum.hr). Bez ikakve statiske, doslovno bez ičega. I takva vrstu “animiranja posjetitelja” vode čak i regionalni portali na razini nižih liga.
Za primjer, klikom na ovaj link:

http://betscript.oxidian.com/?controller=servicehtml&action=view&view=View_Frontend_UserBank

Korisnik dobiva widget sa pregled svojeg klađanja.
E sad korisnik bi trebao taj link pozvani page on load i to bi bilo to, njegova stranica bi imala taj widget.
Tu je još treba napraviti cross domain service da radi sa različith domena, te uopće treba napraviti js skripte koje bi kvaliteno lodirale sadržaj, trenutačno je to sve ubačeno u layout od stranice.

No nije poanta skripe da se koriste kao rješenje za klađenje već da nudi dodatnu vrijednost stranici u vidu klađenja.

Ako je nekom finije proći 10 stranica po forumi i zbrajati pobjednike ili jednostavnije napisati ponudu i zaljepiti widget na stranicu, to je njegov izbor. A u tom smjeru je skripta napravljena i biti će razvijana, jer da se je išlo sa idejom nekakvog socijalnog portala za klađenje onda bi vjerovatno koristio neki framework, ili čak CMS.

Evo za forum, uzmeš temu, nazoveš je Liga 5.
Složiš 10 parova.
Svaki put kad neki korisnik otvori temu vidjeti će taj widget sa ponudom.
Izabrati će parove i okladi se.
Prođe tjedan i imaš tražiš pobjednika, otiđeš na bank staviš filtriranje na tip uplate na račun korisnika i vremesko razdoblje od tog tjedna i dobiš popis svih listića, izabranih parova za taj tjedan, onaj tko je imao najveću zaradu taj je pobjenik.
No da bi skirpta došla do te razine da treba samo zaljepiti JS kod na stranicu proći će neko vrijeme. A svo osim te integracije u ovoj gornjoj priči jest gotovo. Samo stime će biti još posla jer treba sada definirati što će ustvari biti widget koji može neovisno raditi i kako ga uklopiti čim kvalitetnije u stranicu.

AHA!!! Tu smo dakle. Da to je istina. Ima hrpa ljudi koji bi tu skriptu mogli kjoristiti. Stovise cak mnogo njih. Ali to nisu kladionicari. To su fanovi. Gotovo svaki engleski klub vodi svoju ligu pogadjanja tipova lige u kojoj igra njezin klub. Pa mozda ako ti skripta bude commercialna promjeni naziv u tom stilu jer ova skripta nije bas atraktivna kladionicarima. Nego fanovima koji predvidjaju ishod lige. Pa mozda da je nazoves: Soccer Fan Prediction Tool :wink:

Sretno

Zato i često napomenem, pa čak i na samoj stranici od skripte da se radi o servisu a ne o web aplikaciju, sad kako to ljudi protumače i kako to vide to je pitanje.
I čak i ova stranica koja je prikazana kao demo ne funkcionira kao “normalna stranica” već isključivo svoj sadržaj kupi preko servisa.
I zato nebi trebalo biti problem to ugraditi da radi sa Joomlom ili neki trećim softwareom.

Beta 2.0, demo integracije sa Joomlom.

http://betscriptcms.oxidian.com/

Do kraja ovog tjedna će beta 2.0, te mogučnosti za Joomlu (i općenito third party software).

Iako za sada izgleda dva HTML modula koji pozivaju service te omogučuju klađenje.
Može se napisati članak recimo i kraj njega staviti ponudu na par od članka ili osoba može napisati članak i prikazati što je odigrala.
Fali još onaj socijalni aspekt pregledavanja tuđih ticketa ili dobitaka ali to će kad dođe vrijeme.
Tako da će moći skripta koristi i za onaj portal o tipovima.

Sad se tu vidi neka prednost što je rađeno kao servis jer uz Joomlu to je druga priča, otvara ipak puno više mogučnosti.

A service da nebi ispao famozan radi na isti način koji se ima prilike vidjeti bilo gdje a najbolje bi ga usporedio sa inline oglašavanje ili xClaimom, stavite js scriptu na sajt i stavite div element sa id od widgeta koji želite pozvati.

jeli postoji jos negdje ta skripta?