Digitálne inšpirácie #57 Čo inovatívne sme spolu zrealizovali v júli

U nás uhorkové leto nehrozí. Každomesačné Digitálne inšpirácie z bart-u sa aj tentokrát hmýria novinkami. Pre klientov v každej oblasti nášho pôsobenia sme pripravili niečo zaujímavé – pre aplikáciu Crossuite vylepšený blokátor na ochranu proti zneužívaniu SMS hackermi, pre SportNet Transfermarket s bohatou databázou prestupov hráčov a pre Solík.sk inteligentný vyhľadávač. A je tu toho ešte oveľa viac. Dovolenky, nedovolenky, stále máme nové nápady, ako naše projekty posúvať vpred.

#health

Peter Sliacky - Bart Digital Products
Peťo

Akreditácia aplikácie Crossuite

V priebehu posledných mesiacov sme aplikáciu Crossuite pripravovali na akreditáciu so špecializáciou na fyzioterapiu pre Belgický trh. Používanie akreditovaného medicínskeho softvéru je tu totiž podporované vládou a každý doktor, ktorý si ho kúpi, získava od štátu ročnú dotáciu v hodnote 800 eur. Mať akreditovanú aplikáciu je teda pre nášho klienta príležitosťou, ako získať ešte viac zákazníkov. 

Aby sme akreditáciu získali, museli sme splniť zoznam 140 požiadaviek. Patrí medzi ne napríklad možnosť vyhľadávať a exportovať dáta pacienta, kontrolovať poistenia, zdieľať medicínske záznamy medzi poskytovateľmi zdravotnej starostlivosti, zabezpečiť, aby nevznikali duplikáty pacientov alebo aby bol každý pacient ošetrený unikátnym ID a bezpečnou autorizáciou. Na ich zapracovanie sme mali časový deadline a špeciálna komisia následne splnenie všetkých požiadaviek súvisiacich s akreditáciou skontrolovala. Zo zákulisia máme informáciu, že kým obyčajne trvá proces testovania komisiou kvôli “pomalosti” systémov a častým chybám aj 4 hodiny, u nás to všetko prebehlo za hodinku. Systém testovania je pritom ako na maturite – komisia vytiahne náhodnú požiavku a zisťuje, či ju aplikácia spĺňa. Aktuálne čakáme na finálny verdikt, ale sme si istí, že akreditácia bude úspešná.

Reporty pre rýchlejšiu identifikáciu a riešenie bugov

Lukáš Pollák - Bart Digital Products
Lukáš

V minulomesačných inšpiráciách písal kolega Ľudo o automatizovaných testoch a grafoch, ktoré nám pomáhajú určiť nielen chybovosť aplikácie, ale aj testov samotných. Pri takom rozsiahlom projekte, ako je Crossuite, využívame viacero typov testov (akceptačné, integračné…), ktoré nekontrolujú len nové veci, ale aj závislosti so starými funkcionalitami a ďalšími súčasťami projektu (regresný testing). Aby sme na chyby odhalené pri regresnom testingu zareagovali dostatočne rýchlo a fungovali efektívne, pomáhajú nám reporty.

Fungujú nasledovne:

  1. Aplikáciu rozdelíme na tzv. funkčné časti (komponenty) a pre každú z nich pripravíme niekoľko testovacích scenárov, pričom jeden scenár môže zasahovať aj do viacerých komponentov. My na to využívame components pripradené k testovacím scenárom pomocou nástroja pre manažment testov Zephyr (doplnok pre JIRu).
  2. Scenár naprogramujeme do podoby automatizovaného testu. Každý krok scenára predstavuje jeden krok testu. Zlyhanie akéhokoľvek kroku v rámci procesu znamená zlyhanie celého testu. 
  3. Spustíme automatizovaný test (execution).
  4. Po exekúcii získame report vytvorený pomocou integrácie Jasmin reportera so Zephyrom. 
  5. V reporte vidíme, v ktorom kroku test zlyhal, a s akými ďalšími komponentami toto zlyhanie pravdepodobne súvisí. Vďaka tomu dokážeme identifikovať, investigovať a vyriešiť problém v krátkom čase. 
Výstup detailného reportu podľa komponentov: 6 spadnutých testov – problém budeme hľadať v komponente Patient, ktorý sa prelína s komponentami Patient search a Documents, keďže pacient môže mať so svojim profilom spojené dokumenty.
Hľadanie problému na základe výstupu krokov konkrétnych spadnutých testov. Manuálne testy sú teda potrebné minimálne – len na kontrolu konkrétneho problému odhaleného automatizovaným testom.

Zastavenie zneužívania registračných SMS

Martin Čuchta - Bart Digital Products
Maťo

Aby sme overili správnosť telefónneho čísla nového používateľa (pacienta) aplikácie Crossuite, počas registrácie sa musí autorizovať cez SMS správu. Táto funkcionalita sa používa bežne aj na iných portáloch, napríklad na bolt-e alebo facebooku, a je spojená s SMS bránou, vďaka ktorej sú správy odosielané. Do aplikácie sa nám nabúravali hackeri, ktorí opakovali registráciu s náhodnými číslami, kde sa posielali SMS-ky, čo nám navyšovalo faktúru za SMS bránu. Preto sme pripravili blokátor SMS, ktorý po určitom počte odoslaných SMS funkciu zablokuje. Momentálne prebieha redesign tohto blokátora, aby bol používateľ o limite informovaný. Čoskoro bude teda von nová, ešte lepšia a bezpečnejšia verzia blokátora.

#sport

Juraj Kavka - Bart Digital Products
Juraj

Transfermarket – história prestupov a hosťovaní futbalistov

Slovenský futbalový zväz disponuje kompletnou databázou prestupov a hosťovaní hráčov medzi klubmi vo všetkých súťažiach (dospelých, mládeže, mužov aj žien) a rozhodol sa sprístupniť ju na svojej stránke fanúšikom, klubom a hráčom. Naprogramovali sme preto Transfermarket – databázu prestupov s možnosťou hľadania klubov, filtráciou podľa dátumu, typu prestupu, veku a pohlavia hráča. V budúcnosti pribudne aj filtrácia podľa zväzov. Rovnako, ako na celom portáli SportNet a jeho mikroslužbách, aj tu sme pracovali s Reactom, TypeScriptom, Node.js a MongoDB. Aktuálne je v databáze 450 050 transferov hráčov, ročne ich pribúda približne 25 000.

Ticketing pre EURO19 aj licencovanie trénerov

Michal Hricišín - Bart Digital Products
Michal

V rámci príprav stránok SFZ na Európsky futbalový šampionát hráčov do 19 rokov sme programovali aj aplikáciu na predaj lístkov na jednotlivé zápasy – Ticketing. Systém bol priamo prepojený na turnikety piatich štadiónov a celý predaj bol tak v rukách SFZ, bez potreby využitia sprostredkovateľa (napr. ticketportal). Na strane SFZ prebiehala aj príprava vstupeniek do predaja a aby bol systém pohodlne dostupný, pred samotnými zápasmi boli v okolí štadiónov prítomní dobrovoľníci s QR kódmi na zakúpenie lístkov. Počas celého šampionátu sa dokopy predalo 45 145 vstupeniek.

Dobrovoľníci v okolí štadióna s QR kódom na online kúpu vstupeniek. Zdroj: https://futbalsfz.sk/euro-u19-za-vydarenym-sampionatom-su-desiatky-sikovnych-ludi/

Ticketing sa osvedčil natoľko, že ho využívame aj naďalej. Napríklad aktuálne prebieha cez SportNet aplikáciu Vzdelávanie školenie trénerov Grassroots leaders. Lístky na semináre si jeho účastníci kupujú práve cez Ticketing. Tieto dve aplikácie, Ticketing a Vzdelávanie, sme prepojili tak, že po zakúpení lístka sa seminár automaticky priradí k profilu trénera vo Vzdelávaní. Systém teda zvyšuje prehľadnosť a šetrí personál.

#ecommerce

Luigi’s Box pre eshop Solík.sk

Marek Bálint - Bart Digital Products
Marek

Aby sme vylepšili používateľský zážitok zákazníkov eshopu Solík, chceli sme naň implementovať inteligentné vyhľadávanie s našepkávačom. Rozhodovali sme sa medzi programovaním riešenia na mieru cez Elasticsearch a už hotovým externým riešením Luigi’s Box. Po dôkladnej analýze sme sa rozhodli pre Luigi’s Box a pustili sa do implementácie. Tá môže prebiehať dvoma spôsobmi:

  1. jednoduchšie, cez predpripravený Javascript, no bez možnosti jednoduchej personalizácie (napr. grafickej), 
  2. zložitejšie, no bezpečnejšie a s plným prístupom, cez API. 

Samozrejme sme si vybrali tú druhú možnosť :) Počas implementácie sme si viackrát písali s podporou a riešili niekoľko menších komplikácii, no s kolegom Ľubošom sa nám to napokon úspešne podarilo. Teraz budeme sledovať efektivitu vyhľadávača a v prípade potreby jeho funkcie ďalej personalizovať. 

 

Zaujali vás projekty, na ktorých pracujeme?