Čo pomocník robí
a ako si ho vyskúšať.
Aplikácia pre jeden dotazník naraz, dostupná lokálne aj na Cloudflare. Po zadaní kódu aplikácia použije tvoje nastavenia, automaticky vyplní a odošle dotazník a zobrazí skutočný výsledok.
Otvoriť aplikáciu →

Automatické vyplnenie aj odoslanie
Pred spustením vidíš profil odpovedí. Test automatického vyplnenia aj odoslania jedným kliknutím prešiel lokálne, rovnako ako voliteľný súhrn bez odoslania. Pri následnom teste na doméne bol denný čas prehliadača už nedostupný, preto sa tam nové otvorenie odmietlo. Predvolené nastavenie zodpovedá zadaniu: spokojný vo všetkých oblastiach, správna objednávka, bez problému, prevzatie pri stole, pracovníka si si nevšimol, odporúčanie 6/10. Nastavenia upravíš pod „Automatické odpovede“; zostanú uložené v tvojom prehliadači.
Po kliknutí na Vyplniť a zobraziť výsledok prebehne vyplnenie aj odoslanie automaticky. Ak chceš najprv skontrolovať súhrn, vypni voľbu automatického odoslania. Neznáme povinné otázky aplikácia nechá na doplnenie. Nevymýšľa súhlasy ani osobné údaje.



Reálny test s účtenkou — odoslané, bez webového kupónu
Vyplnenie a odoslanie cez vlastnú stránku prešlo s odpoveďami používateľa. Služba zobrazila poďakovanie a informáciu, že odmenu možno nabudúce získať vyplnením dotazníka v aplikácii McDonald’s. Tento kód už bol pri teste použitý.

Ako sú prepojené jednotlivé časti
public/receipt-client.js číta QR cez jsQR a text cez Tesseract. lib/survey.js používa Playwright a bežné ovládacie prvky pôvodného webu. Aktívne otázky sa čítajú z jeho DOM, takže vetvenie určuje priamo služba. server.js spravuje relácie a lokálne API. Rozhranie je obyčajné HTML, CSS a JavaScript.
Kód sa nevyrába ani nehádajú jeho alternatívy. Pri lokálnom použití fotky zostávajú na počítači. Aj na mcnazor.kusik.net sa fotky spracujú priamo v tvojom prehliadači. Neposielajú sa do ďalšej OCR služby a neukladajú sa na disk. Profil automatických odpovedí sa uchováva v localStorage. Voliteľné uloženie jednotlivých odpovedí vynecháva kontaktovanie, súhlasy a textové polia.
Čo bolo overené automatickými testami
- Normalizácia kódu, extrakcia z QR odkazu, odmietnutie neplatného alebo nejednoznačného vstupu.
- Podmienené otázky a viacnásobné voľby, kontrola povinných odpovedí, odmietnutie úpravy skrytých polí.
- Celý izolovaný priebeh od načítania formulára po zachytenie výsledku.
- Opakované volanie odoslania nevykoná druhý klik; pri neistom výsledku sa stav nemení na úspech.
Testy spustíš príkazom npm test. Lokálna ukážka overuje integráciu; nemení dáta v reálnom dotazníku.
Hranice: fotky, relácie a výsledný kupón
OCR môže pri pokrčenom alebo rozmazanom papieri zameniť napríklad 9/I alebo 7/T. Na dodanej fotke nebolo čítanie úplne presné; pred použitím treba návrh porovnať s účtenkou. Kód sa po OCR automaticky neodosiela.
Pri reálnom teste 7. 9. 2026 sa dotazník úspešne odoslal, ale web nevydal kupón. Výsledok uviedol, že odmenu možno nabudúce získať vyplnením v aplikácii McDonald’s. Aplikácia zobrazuje toto poďakovanie a jednoznačne označuje, že kupón nebol vydaný. Ak sa zmení formulár alebo pribudne CAPTCHA, automatizácia môže vyžadovať úpravu.
Lokálne relácie zostávajú hodinu od poslednej aktivity v pamäti servera. Cloudové relácie majú pevný limit 3 minúty. Stav odoslania a výsledok sa uchovajú najviac 24 hodín. Obnovenie karty obnoví jej reláciu, reštart servera ju ukončí. Výsledok si ulož pred zavretím relácie. Pri neistom odoslaní sa používa iba kontrola výsledku, nikdy automatické opakovanie odoslania.
Cloudflare Workers Free · bez Dockeru
Workers Free zahŕňa 10 minút Browser Run denne na účet. Dotazník má 3 minúty na vyplnenie. Pred otvorením sa rezervuje 5 minút z denného rozpočtu vrátane rezervy na ukončenie; nepoužitý čas sa po úspešnom zatvorení vráti. Pri nedostatku času nové otvorenie odmietneme. Aj demo spotrebúva tento čas.
Plán účtu nemeníme. Žiadny Docker, kontajner ani vlastný server. Limity sú spoločné s inými aplikáciami účtu. Fotka sa nikam nenahráva; kód potvrdíš pred načítaním dotazníka. Stav odoslania prežije reštart a zabraňuje opakovanému odoslaniu. Výsledok sa odstráni najneskôr po 24 hodinách.
Overené 7. 9. 2026 lokálne aj na nasadenej doméne: izolovaný celý dotazník cez Worker, opakované odoslanie bez druhého kliknutia, klientské OCR a nulový upload fotky. TypeScript a všetkých šesť jednotkových/integráčných testov prešli. Verejné DNS a HTTPS sú aktívne; niektoré miestne DNS cache môžu po prvom nasadení ešte krátko vracať starý výsledok. Reálny test na snímke vyššie prebehol na predchádzajúcom lokálnom backende; použitý kód už znova netestujeme.
Konfigurácia: wrangler.jsonc, backend: cloudflare/worker.ts. Nasadenie: npm run deploy.
Spustenie projektu
Vyžaduje Node.js 22 alebo novší a Chromium od Playwright.
npm ci
npx playwright install chromium
npm startOtvoriť: http://localhost:4317. Port možno zmeniť cez premennú PORT. Aplikácia počúva iba na 127.0.0.1.