Nüüdseks on punktisüsteem ja liikmehaldus viidud ühisesse andmebaasi, mistõttu on liikmete punktide pärimine selle võrra ka lihtsam.
Veebileht on JavaScript rakendus, mis muuhulgas koostab standardseid tabeleid ja graafikuid, ning paneb need ekraanil ruudustikule.
Iga graafik või tabel on jagatud sisemiselt kaheks: display ja render osa. Display on kindla kasutuse, ülesande ning andmeallikaga objekt. Näited on selle kuu parimate tabel või spetsiifiliselt bestika kogupunktide numbri element. Iga display küsib ise andmed ning laseb sobival render objektil teha saadud andmete põhjal graafik, tabel või muu näidik. Render objektid ongi näidikud, tabelid või graafikud, nagu näiteks joongraafik või punkte näitav element.
Andmed küsib display element sobiva GET päringuga, millele vastuseks saab genereeritud JSON formaadis andmed.
Andmed tabelitesse ja graafikutesse päritakse backend rakendusest, mis omakorda teeb SQL päringud andmebaasi. Hetkel (as of 23.10.2023) ei ole päringute vahele pandud mingisugust cahce süsteemi, et kiirendada samade andmete päringute kiirust ning vähendada andmebaasi koormust.
Kõik nähtav statistika arvutatakse backendis ning edastatakse frontendi graafikutele kasutamiseks.
Alates 21.10.2023 on rakendus viidud üle kasutama uut BEST-Estonia siseveebi andmebaasi.
Koordinaatorid täidavad Google Spreadsheets lehti, mis kogutakse iga 5 minuti tagant kokku, salvestatakse BESTi SQL andmebaasi, ning arvutatakse salvestatud andmetelt mõngingat statistikat.
Iga kord, kui keegi laeb punktide vaatamiseks lehe, küsib leht backend süsteemilt andmeid, mis omakorda küsib need andmebaasist ning teeb ka ise vajadusel mõned arvutused.
Iga töögrupi koordinaatoril on oma tabel, kuhu lähevad sissekanded igast korrast, kui mõni bestikas midagi punktiväärilist korda saatis. Seal tabelis on igal sissekandel nimi, punkte andev tegevus, kuupäev millal tegevus tehti, ning palju ta seda ja selle eest punkte sai.
Neid andmeid kogutakse igal 5 minutil. Andmed laetakse nendest siiski uuesti vaid siis, kui seda tabelit võrreldes eelmise korraga muudetud on
BESTi veebiserveris on üles seatud CRON töö, mis iga viie minuti tagant proovib uuendada koordinaatorite tabelist andmeid.
Esialgu küsitakse läbi Drive API viimase muudatuse kellaaega ja kuupäeva. Kui viimane muudatus on tehtud peale viimase uuenduse aega (salvestatud state/state.json failis), siis viiakse selle tabeli jaoks läbi täielik andmete lugemine.
Andmed loetakse läbi Spreadsheets API, ning väikeste muudatuste ning korrektsioonidega saadetakse need kohe, rida-rida haaval, MySQL andmebaasi.
Arvestades, et iga kord kui keegi oma punkte näha tahab, peab saadaval olema mingil määral pika protsessi tulemusel loodud statistikat, siis eel-arvutatakse see statistika andmete laadimise järel.
Luuakse eelarvutatud andmed:
iga töögrupi järgi iga inimese koondpunktid,
iga inimese enda koondpunktid,
töögruppides kokku saadud punktid,
bestikate nimed, kellel üldse punkte on.
Nii on igaks nõudmiseks suur osa andmeid juba vaid mõne andmebaasipäringu kaugusel. Sellega on andmete uuendamine lõppenud
Veebileht on JavaScript rakendus, mis muuhulgas koostab standardseid tabeleid ja graafikuid, ning paneb need ekraanil ruudustikule.
Iga graafik või tabel on jagatud sisemiselt kaheks: display ja render osa. Display on kindla kasutuse, ülesande ning andmeallikaga objekt. Näited on selle kuu parimate tabel või spetsiifiliselt bestika kogupunktide numbri element. Iga display küsib ise andmed ning laseb sobival render objektil teha saadud andmete põhjal graafik, tabel või muu näidik. Render objektid ongi näidikud, tabelid või graafikud, nagu näiteks joongraafik või punkte näitav element.
Andmed küsib display element sobiva GET päringuga, millele vastuseks saab genereeritud JSON formaadis andmed.