Úvod k službe ockovanie2021.sk

Projekt ockovanie2021.sk je dobrovoľný hackathon projekt skupiny nadšencov, ktorí sa rozhodli zareagovať na problémový systém NCZI pre registráciu na očkovanie. Registrácia na očkovanie sa zmenila na súboj o každé očkovacie miesto, kde vyhrávali technicky zdatní používatelia, ktorí mali šťastie. Veríme, že štát by mal zabezpečiť služby, ktoré poskytnú maximálny komfort a nevystavia rodiny zbytočnému stresu.
Náš systém neslúži ako rýchla náhrada služieb NCZI. Chceli sme si vyskúšať a ukázať, ako by sa dali služby robiť rýchlo a spoľahlivo. Je nám jasné, že štátne IT má množstvo nedostatkov a vývojári NCZI boli postavení pred náročnú úlohu. Naším želaním je aby sa ľudia zodpovední za očkovanie zamysleli nad riešeniami, ktoré majú slúžiť bežným občanom. Sme presvedčení o tom, že štát má množstvo kvalitných ľudí, aby túto víziu realizovali.

Registrácia na očkovanie proti Covid-19 bez stresov

Desktopová aj mobilná verzia

Čo dokáže ockovanie2021.sk?

Rýchla registrácia na očkovanie

Registrácia na očkovanie by mala byť rýchla, jednoduchá a prehľadná. Mal by ju vedieť vyplniť ktokoľvek, bez špeciálnych znalostí technológii. Vytvorili sme ju ako jednoduchú aplikáciu.

Priradenie termínov očkovania

Náš systém umožní registráciu komukoľvek, bez akéhokoľvek vekového obmedzenia. To štátu umožní distribuovať a rozdeľovať termíny dlhodobo dopredu, bez nutnosti žiadať obyvateľov o registráciu v danom čase.

Overenie registrácie a prihlásenie

Za bezpečnú kombináciu považujeme overenie kombináciou rodné číslo a občiansky preukaz. Vzhľadom na povahu tohto projektu sme vychádzali z predpokladov, ako by to mohlo fungovať.

Potvrdenie, alebo zamietnutie termínu

Registrovaný používateľ dostane možnosť potvrdiť, alebo zrušiť termín vygenerovaný systémom. Je notifikovaný emailom, prípadne si to vie overiť prihlásením sa do aplikácie ockovanie2021.sk. Po odmietnutí bude zaradený do očkovania opäť o 7 dní.

Čo (zatiaľ) nedokáže ockovanie2021.sk?

Náhrada NCZI

Naším zámerom nie je vyriešiť problémy NCZI. Chceli sme vytvoriť systém rýchlo a poukázať na možnosti, ktoré moderné technológie poskytujú. Sme otvorení komunikácii s NCZI a prezentácií nášho riešenia.

Komunikovať so štátom

Náš systém je postavený na zelenej lúke, bez prístupu k štátnym API serverom. Komunikáciu so štátnymi službami sme si namodelovali a vytvorili sme si mockup služby, ktoré simulujú schválenie identity používateľa, alebo generovanie termínov.

Bezpečnosť

Pre potreby dema sme neriešili žiadne penetračné testy. Vstupy validujeme, používateľa overujeme a sanitizujeme dáta na strane API. Pre produkciu je určite nutné prejsť penetračnými testami a overiť potencionálne problémy.

Prečo sme sa rozhodli vytvoriť vlastnú registráciu na očkovanie?

Chceli sme si overiť, akým spôsobom by sme riešili problém registrácie na očkovanie. Celý proces síce vyzerá jednoducho, ale na pozadí je nutné vyriešiť množstvo problémov. Keďže o problémoch s infraštruktúrou štátneho IT sme počuli z rôznych strán, pozreli sme sa na problém z iného pohľadu.
Rozhodli sme sa využiť modernú kontajnerovú orchestráciu Kubernetes, cloudové riešenia pre fronty, ukladanie dát a odosielanie emailov. Celý systém sme otestovali stress testami, nasimulovali sme registráciu množstva používateľov a vygenerovali sme náhodné termíny pre registráciu v rôznych lokalitách podľa zadefinovaných kritérií.

Čo treba ešte dokončiť?

  • doladiť UX a vyladiť správanie formulára, lepšie popísať chybové stavy
  • penetračný testing webu, API a infraštruktúry, hardening servisov
  • analýza a pokrytie nepodporovaných prehliadačov
  • pridanie notifikácií cez SMS, integrácia niektorej SMS brány
  • prototypovanie UX, prieskumy medzi používateľmi
  • canary deployment kvôli testovaniu novej funkčnosti na vybranej vzorke
  • zvýšenie limitu pre odosielanie emailov, prípadne zmena Email brány
  • možnosť registrácie manželov, registrácia v mene niekoho iného
  • úprava jednotlivých položiek profilu