Zergatik da kontabilitate-taula pertsonalizatua

Pintura-bolean, partidak azkarrak dira eta erabakiak segundotan hartzen dira. -Erdi-hegaleko saskiak saskibaloi edo futbola bezalako kirol tradizionaletarako diseinatu ohi dira, eta ez dute malgutasunik paintball-en joko-modu bakarretarako. Sistema pertsonalizatu batek eskaintzen du:

  • 'Real-time puntuazioa' eguneraketak eliminazioak, bandera-kapturak edo puntuetan oinarritutako helburuak berehala islatzen dituztenak.
  • Formatu anitzetarako, 3-man taldeetatik eszenatoki-joko handietara, txantiloi zurrun bat behartu gabe.
  • Ikusleen konpromisoa hobetu zuen grafiko dinamikoen, zuzeneko tenporizadoreen eta talde-estatistiken bidez.
  • Giza-erroreak murriztu zituen, taula edo epaileen gailuen bidez datuak automatikoki sartuz.
  • Aukera paregabeak, logotipoak, gertaera-izenak eta kolore-eskema pertsonalizatuak erakusteko.

Irtenbide pertsonalizatuarekin, datuak ere badituzu. Gero, aztertu ahal izango dituzu bat datozen historia, jokalariaren errendimendua eta txapelketaren joerak, paper orri botagarriekin edo sistema jabedunekin ezinezkoa dena. Directus bezalako CMS burugabe moderno batek posible egiten du, baina errepikagarria da gertakarietan.

Directus zure puntuazio-taularen atzealderako

Directus iturburu irekiko CMS bat da, eta euskarri ahaltsu gisa jarduten du zure saski-aplikaziorako. Interfaze garbi eta erabilerraza eskaintzen du administratzaileek taldeak, bat-etortzeak eta puntuazioak kudeatzeko, kode-lerro bakar bat idatzi gabe. Bere REST eta GraphQL APIak, denbora errealeko WebSocket euskarriarekin konbinatuta, aukera ezin hobea bihurtzen dute zuzeneko puntuazio-sistema baterako.

Directus proiektu bat sortzea

Directus zure zerbitzarian (auto-ostatua) edo Directus Cloud zerbitzua erabil dezakezu kudeaketa-esperientzia baterako. Txapelketa-ezarpen baterako, sare lokal batean ostatu hartzea hobe litzateke latentzia saihesteko. Jarraitu urrats hauei:

  1. Directus Docker bidez edo Node.js-en hedapen zuzen bat instalatu. Gida ofizial eta bizkortzaile ofizialak minutu gutxi barru azaltzen du prozesua.
  2. Konfiguratu zure datu-basea (PostgreSQL, MySQL, SQLite-SQLite lineaz kanpo erabiltzeko aproposa da).
  3. Konfiguratu erabiltzaile-administratzaile bat eta sortu proiektu bat zure txapelketarako.
  4. Gaitu "Realtime" modulua WebSockets erabiltzeko asmoa baduzu berehalako puntuazioa eguneratzeko.

Datu-eredua diseinatzea

Zure saskiaren datu-eskemak zure txapelketaren egituraren ispilu izan beharko luke. Sortu bildumak (mahaiak) Directusen:

  • ]Taldeak, izena, logotipoa (irudiaren URLa), zerrenda (jokalariekin erlazioa), lehen mailako kolorea.
  • Jokalariak, izena, zenbakia, taldea (erlazioa), aukerako estatistikak (eliminazioak, heriotzak, kolpeak).
  • [Txertatu, amaitu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, denbora galdu, eta abar.
  • Puntuazioak ]—bata (erlazioa), taldea (erlazioa), puntuazioaren balioa, ordu-zigilua (batez ere zuzeneko puntuazioa lortzeko), puntu-mota (eliminazioa, bandera-harrapaketa, etab.)
  • Penalties, aukerakoa, akatsak (minor, major, deskolonizazioa) jarraitzeko jokalariarekin eta bat datozenekin.
  • Gertaera garrantzitsuak (aldaketa esanguratsuak, zigorrak, denbora-mugak) berrabiatzeko eta ikuskatzeko.

Erabili Directus-en harreman-eremu integratuak (bata-bata, asko-asko-asko) bilduma horiek estekatzeko. Adibidez, Partidak bi talde (edo gehiago talde-bihurketa-formatuetarako) eta hainbat puntu-sarrera izan ditzake aldi bakoitzean. Kontuan izan bilduma bat gehitzea: Tournament|Tournament|Tournament|FLT:1]], Directus instantzia bereko hainbat gertaera exekutatzeko asmoa baduzu, txapelketa bakoitzak bere planifikazioa eta arauak izan ditzake.

Autentifikatutako epaileek bakarrik idatz ditzaten puntuazioak, eta puntuazio-taula publikoak azken datuetarako sarbidea bakarrik behar du. "scorekeeper" funtzioa ere sor dezakezu, idazketa-sarbide mugatuarekin, egoera eta puntuazioak bakarrik lortzeko.

Denbora errealeko eguneraketak Directus-ekin

Pintzela txapelketak azkar mugitzen dira, puntuazio-bistaratzeak nahasmena sortzen du. Directusen 'FLT:0' Denbora errealeko moduluak edozein bildumatan aldaketak egiteko aukera ematen du. Epaile batek puntuazioa edo bat-bateko egoera aldatzen duenean, aurrekoak berehala jasotzen du eguneraketa WebSocket bidez.

Erabili ahal izateko:

  • Instalatu zure aurrealdeko proiektuan.
  • Sortu WebSocket konexio bat zure Directus instantziarekin.
  • Harpidetu "Puntuazioak" edo "bat datoz" bildumara denbora errealeko gertaeretan.
  • Entzun , eta gertakariak eta eguneratu UI horren arabera.

Ikuspegi horrek galdeketaren beharra ezabatzen du eta ziurtatu egiten du saskia ikusten duen gailu bakoitza sinkronizatuta dagoela. Aldi bereko partida asko dituzten txapelketa handietan, kontuan hartu bat datozen ID zehatzetara bideratutako WebSocket kanalak erabiltzea banda-zabalera murrizteko.

Deep Dive: WebSocket konexioen kudeaketa

Puntuazio-taula sendo bat eraikitzean, konexio-loturak ongi gutxitu egiten dira. Egin klik eta gertakarietan WebSocket bezeroarengandik. Deskonektean, atzera-konexio esponentziala ezarri, segundo bateko atzerapenarekin hasi eta 30 segundora arteko bikoitzarekin. Directus-en denbora-moduluak taupadak bidaltzen ditu 30 segundoro lehenespenez; hiru taupada galtzen badituzu, konexioa galduko da. Erakutsi puntuazio-adierazlearen adierazle txiki bat, eta jakin ezazu sareko langileak aurreko sarera itzul daitezkeela.

Frontend-eko pantaila eraikitzen

Aurrealdekoa da jokalariek, arbitroek eta ikusleek benetan ikusten dutena. Web aplikazio gisa eraiki dezakezu, taula-interfaze dedikatu gisa, edo pantailako ohol handi bat ere bai.

Markoa aukeratzea

JavaScript-en edozein marko modernok (React, Vue, Svelte edo are vanilla JS) funtzionatuko du. Zure txapelketako langileak ez badira teknikoak, HTML + CSS orri sinple bat script txiki batekin errazagoa izan daiteke. Interakzio aurreratuagoa lortzeko, Directus SDK-rekin erreakzionatu aukera sendoa da. Bere Konposizio APIarekin batera, oso ongi bikoteka dago denbora errealeko datuekin, Reaktibitate pertsonalizatua erabiliz.

Irtenbide arina nahiago duten taldeentzat, kontuan hartu , eta HTML estatikoari portaera erreaktiboa gehitzen dio, eraikuntza-urratsarik gabe. Hori ezin hobea izan daiteke txapelketa txikietarako, non saskia edita nahi duzun.

Directus SDK-rekin integratzea

Directusek REST bezeroa eta denbora errealeko bezeroa eskaintzen ditu. Puntuazio-taula baterako, normalean:

  • Erabili REST APIa bat datozen hasierako datuak eta taldearen informazioa kargatzeko.
  • WebSocket-eko harpidetzak aldatu, eguneraketak jasotzeko.
  • Diseinatu UIa partiturak eguneratzeko, miazkatu gabe (CSS trantsizioen laguntza).

Integrazio-fluxuaren adibidea:

  1. Autentifikatu aurrekoa (behar izanez gero) edo erabili irakurtzeko soilik API token publikoa.
  2. Eskuratu uneko bat-etortze-zerrenda Directus-etik.
  3. Partida aktibo bakoitzeko, bi taldeak eta uneko puntuazioak erakutsi.
  4. Harpidetu "puntuak" bildumako aldaketetara eta puntuazio-bistaratzea berriro ere birjarri.

UIren bat-bateko puntuazioak eguneratzeko: puntu-gertaera anitzak milisegundo gutxiren buruan gertatzen badira, errenda bakarrean elkartu egoera-eguneratze debounced bat erabiliz (adibidez, eskaera-AnimationFrame edo 100ms debounce).

Erabiltzaile-interfazea diseinatzea

Argitasuna da garrantzitsuena. Puntuazio-taula on batek honako hau dauka:

  • Talde-izenak (kolore handiak, kontrasteak).
  • Puntuazioaren zenbakiak (oso handiak, erraz irakurtzen direnak, gutxienez 80px letra-tipo lehen mailako puntuazioetarako).
  • Bat datorren denbora-muga (kontaketa edo denbora igaro).
  • "Egoera" adierazlea (adib. "Erreproduzitu", "Break", "Final").
  • Aukerakoa: likidazio-mahaiak edo heriotza-erlazioa banakako estatistiketarako.

Erabili kontraste handiko koloreak (adibidez, testu zuria atzeko plano ilunean) eta ez pantaila bete. Diseinu moldagarriak ziurtatzen du puntuazio-taulak itxura ona duela 50 hazbeteko telebista batean eta epaile-taula batean. Telebista-bistara, kontuan hartu 16:9 aspektu-erlazioa bata bestearen ikuspegi bakarrarekin; epaile-pantaila mugikorretarako, erabili diseinu trinkoagoa hainbat partidatarako.

Puntuazioak, ordutegiak eta bat-bateko egoera bistaratzea

Datu-fluxuak honela funtzionatzen du:

  • Epaile batek puntu bat (edo ezabatze-gertaera bat) sartzen du mugikorreko moduan. POST eskaera Directus APIra doa.
  • Directusek diskoa gordetzen du eta WebSocket bidez gertaera "sortu" bat igortzen du.
  • Aurrekoak gertaera jasotzen du, bertako egoera eguneratzen du eta puntuazioa berriro jasotzen du.
  • Tenporizadorea bezero-aldearekin (ordutegi lokal bat erabiliz) edo zerbitzari-aldearekin, Directus eremuekin, hasiera/amaierako aldietarako. Zehaztasun osoz, erabili zerbitzariaren albo-ikuspegia: partida bat hasten denean, epaileak eremua ezartzen du, eta irteera-ordua kalkulatzen du. Zerbitzariak segundo bakoitzean aFLT:8 eremua ere egunera dezake Directus-fluxuaren bidez edo amaiera-puntu pertsonalizatu baten bidez.

Bat etortzeko egoeran, epaileek Directus-eko egoera-eremua aldatu behar dute (adibidez, "setup"-etik "playing"-era "jolastu"-ra). Eredu komuna da "kontrol-panela" ikuspegia edukitzea, botoiekin, tenporizadorea, gehikuntza-puntuak eta zigorrak abiarazteko eta geldiarazteko. Sortu hau beste orri gisa autentifikazioa behar duena, erabili Directus-ek bere gain erabiltzeko baimenetan oinarritutakoa babesteko.

Panel pertsonalizatuaren sistemaren ezaugarri nagusiak

Oinarrizkoez gain, kontuan hartu ezaugarri aurreratu hauek txapelketa nabarmentzeko:

  • Bat datozen ikuspegi anitzak - zure txapelketa aldi berean eremuak betetzen baditu, puntuazio-taulak partida aktiboak erakutsi edo eremuen artean aldatzea baimendu dezake. Erabili sareta-diseinua 2x2 edo 3x2 panelekin eremu anitzeko pantailetarako.
  • Erreproduzitu edo moteldu , ez puntuazio-taulan bertan, baina datu-geruzak "desegindako ekintzak" onar ditzake (historia distortsionatua) akatsak zuzentzeko. Puntuazio-aldaketen erregistroa ezartzea denbora-zigiluekin; kontrol-panelak "azkeneko" botoia sar dezake, azken gertaera leheneratzen duena.
  • Sponsor integrazioa , logo babesleak albo-barra batean edo bata bestearen artean. Erabili Directus bilduma irudi-eremu eta ordena batekin. Aurrekariak ausazko babesle bat erakuts dezake 30 segundoro edo markatzaile batean erakutsi.
  • API publikoa streamingerako, txapelketa linean ematen baduzu, sartu atez ateko gainjarri iframe edo RTMP pertsonalizatuarekin. OBS bezalako streaming tresna askok arakatzaile-leihoa har dezakete; diseinatu atzeko plano gardena, jokoaren iturria gainjartzeko.
  • Paperezko babeskopia modua , sistema digital batekin ere, beti txartel inprimatua eta luma prest. Gainera, lineaz kanpoko ordezko orri sinple bat sortu, lokalaren biltegian puntuazioak gordetzen dituena eta sarea itzultzen denean sinkronizatzen dena.

Aurreratua: Zuzeneko gainjarritako Scoreboard-a

Txapelketa bizi nahi baduzu, sortu HTML orri bat OBS gainjartzeko optimizatua. Kendu atzeko plano guztiak, erabili posizio absolutua eta erakutsi CSS aldagaiak talde-kolore eta puntuazioetarako, streaming taldeak erraz egokitu ahal izateko. Erabili garden bat . Orri hau OBS-ko arakatzailearen iturburu gisa txertatuta, eta denbora errealean eguneratuko da, puntuazioak aldatu ahala.

Inplementazio-urratsak

Jarraitu egituratutako prozesu honi zure saskia marraztutik bizira eraikitzeko.

1. urratsa: definitu txapelketaren arauak eta puntuak

Koderen bat idatzi aurretik, dokumentuak zehazki nola funtzionatzen duen puntu batek bandera bat ukitzea eskatzen du? Errukiaren arau bat dago? Nola konpontzen dira denbora gehiegiko loturak? Arau honek zure datu-eredua zehazten du. Adibidez, eliminazio-puntuak zenbatzen badira, aparteko bilduma bat behar duzu ezabatzeko gertaeretan. Denbora-mugak, zigor-puntuen kenketak eta bat-bateko heriotza bezalako egoera bereziak ere zehazten ditu.

2. urratsa: sortu Directus bildumak

Sartu zure Directus proiektuan eta sortu lehenago azaldutako bildumak. Gehitu balioztapen-arauak, adibidez, puntuazioak zenbaki ez-negatiboak izan behar dute. Konfiguratu "referee"-aren baimenak puntuazioak eta bat etortzeko egoera idazteko, eta "publikoa" funtzioak sarbide-irakurlea soilik irakurri du. Erabili Directus-en eremu-baimenak (jokalariaren kontaktu-informazioak bezala) eremuren bat ezkutatu behar bada.

3. urratsa: eraiki APIaren amaiera-puntuak edo erabili Directus SDK

Directus-en sortutako REST amaierako puntuak zuzenean erabil ditzakezu, edo APIaren helburu pertsonalizatuak eraiki, negozio logika gehigarria behar baduzu (adibidez, gertaera anitzetako totalak kalkulatzeko). Txapelketa gehienetan, REST-en eta WebSocket-en amaierako puntuen arteko puntuen kopurua nahikoa da. Erabili Directus SDKFLT:1]] autentifikazioa eta denbora errealeko harpidetzak errazteko. Zerbitzari-interesaren sinkronizazioa behar baduzu, sortu Directus puntu pertsonalizatua, eta eguneratu egiten da, eta gero, eta gero, aldi berean, aldi berean, sortu Directus-puntua, eta egin behar duzu, eta gero, aldi berean, lan-eguneratze bakoitza egin behar duzu, eta gero, lan-eguneratze bat, aldi berean, aldi berean, eta gero, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean, aldi berean

4. urratsa: garatu aurreko osagaiak

Ikusleen ikus-mahaia eta epaileen kontrol-panela sortu. Ikuslearen ikuspegia irakurri eta elementu handi eta argietan zentratu. Kontrol-panela trinkoagoa izan daiteke botoi eta inprimakiekin. Erabili CSS animazioak puntuazio-aldaketetarako (adibidez, keinu labur bat puntuazioaren gehikuntza). Kontrol-panelerako, erabili botoi handiak dituen diseinu mugikorra, eskularruak jantzita ere erraz erabil daitezkeenak.

5. urratsa: proba egin benetako bateekin

Exekutatu praktika bat dator arbitro eta jokalari gisa jarduten duten boluntarioekin. Simulatu hainbat agertoki: puntuazio-aldaketa azkarrak, eremu anitzak, penalizazio-deiak eta sareko gaiak. Egiaztatu WebSocket automatikoki konektatzen dela konexioa jaisten bada. Probatu desegiteko eginbidea (erabilgarri badago) eta ziurtatu azken puntuazioa ezin dela aldatu partida amaitu ondoren.

6. urratsa: tren-langileak eta tren-langileak

Zabaldu aurrealdeko planoa lokaleko zerbitzari batean edo hodeiko ostalari batean. Lineaz kanpo gertaeretarako, exekutatu Directus eta aurrealdekoa ordenagailu lokal batean, WiFi-puntu batekin. Erabili Docker Compose Directus eta web zerbitzari arina (Nginx edo Caddy, adibidez) aurrealdeko terminalerako. Tren-auzitzaileak kontrol-panela erabiltzen, ahalik eta sinpleena: talde baten puntuazioa handitzeko tap bat, botoi bat martxan jartzeko/gelditzeko. Inprimatu lastertasun-txartelak.

Segurtasun eta baimenak Directus-en

Puntuazio-taula funtzio anitzek atzitutako sistema bat denez, segurtasuna funtsezkoa da. Hasteko, hiru Directus-en rolak sortu behar dira:

  • ]Administrator : bilduma eta ezarpen guztietarako sarbidea (txapelketa-antolatzaileek erabiltzen dute).
  • Referee : idatzi puntuazioetarako sarbidea, partidako egoera, zigorrak eta bat datozen gertaerak. Irakurri talde, jokalari eta txapelketetarako sarbidea.
  • ♪ 'Publikoa ♪ Puntuak, partidak bakarrik (bizitza edo amaitua dutenak) irakurtzeko aukera, taldeak eta jokalariak.

Erabili Directusen baimen-sistema bilduma mailan betearazteko. Segurtasun gehigarria lortzeko, murriztu epaileen sarbidea IP helbide bidez kontrol-panela taula zehatzetan soilik erabiltzen bada. Gaitu HTTPS zure Directus instantzian, batez ere internetera bidaltzen baduzu gainjartze-jarraibideak egiteko.

Errendimendua optimizatzea zuzeneko arbeletan

Txapelketa batek dozenaka partida izan ditzake aldi berean. WebSocket-en elikadurari erantzuteko:

  • Sarritan aldatzen diren bildumak bakarrik harpidetu (adibidez, eta ). Ez harpidetu bilduma estatikoetan, hala nola, gertaeran zehar eguneratu ezean.
  • Erabili Directus iragazki-parametroak erregistro garrantzitsuetara bakarrik harpidetuz. Adibidez, harpidetu zaitez iragazki batekin zarata murrizteko.
  • Aurreko planoan, UI debounce eguneratu egiten da. Puntuazioaren hainbat gertaera animazio-marko berean sartzen badira, DOM eguneraketa bakar batean bilduko dira.
  • Cache-taldeen izenak eta logotipoak arakatzailearen lokalizazioan, konexio guztietan bilatu beharrik ez izateko.
  • Txapelketa oso handietarako (jokalarien ehunka ale), jokalariaren estatistikak eta eskaeraren arabera kargatu.

Inplementazio arrakastatsuaren aholkuak

  • Erabili WiFi sare bakarra banda-zabalera egokiarekin. Ez konektatu gailu publikoak, erabili tabletak epaile gisa. Kontuan hartu 5 GHz sare bat interferentzia gutxiagorekin.
  • Hasierako datuak ezabatu. Kargatu talde-izen guztiak, bat datozen ordutegi eta logotipoak hasierako lerroan, webSocket-eko irteerak berehala ez dezan pantaila hautsi.
  • HTML orri estatikoa eduki, eskuzko sarrera-eremuekin, azken baliabide gisa, JSON fitxategi lokal batera sinkronizatuta, geroago igo daitekeena.
  • Ordua zehazteko, erabili bezeroaren metodoa denbora-tarte zehatzetarako.
  • Erabili letra-tipo handiak eta kontraste handia ikusleentzat ikusmen-arazoak dituztenak. Eman audio-irakurlea (burrunbatzailea) gertaera garrantzitsuetarako, hala nola hasiera/amaiera. Erabili eskualdeak puntuazio-aldaketak iragartzeko pantaila-irakurlearen erabiltzaileentzat.
  • Energiarako plana. Gailu guztiak erabat kargatu behar dira, eta bateriak eta energia-bandak gordetzeko babeskopiak egin. Exekutatu ordenagailu eramangarria UPS batean, ahal izanez gero.
  • Zure datu-eredua dokumentatu. Bilduma eta harremanen diagrama bat gorde, etorkizuneko txapelketa-antolatzaileek sistema erraz alda dezaten.

Ondorioa:

Directus-en eraikitako saskiratze-sistema pertsonalizatuak pintura-bol txapelketa bihurtzen du, eskuzko nota kaotikoetatik hasi eta esperientzia profesional batera. Zure datu-ereduaren jabe izanik eta denbora errealeko eguneraketak palankatuz, malgutasun osoa lortzen duzu edozein arautara egokitzeko, jokalari eta ikusleak partidaren segundo bakoitzean informatuta mantenduz. Hemen azaltzen diren urratsekin, datuen modelatzetik hedapenera, txapelketaren egunean zehar modu fidagarrian exekutatzen den eta eremuko guztiak txundituz.

Irakurri gehiago nahi izanez gero, aztertu web-garapeneko tutoretzak denbora errealeko oholak eraikitzeko, Vue.js-ekin, edo FLT:5]]React-rekin. Zure hurrengo margo-bol txapelketak ez du berdin begiratuko.