m.malé poďakovanieSPRIEVODCA A TESTOVANIEOtvoriť stránku ↗
OD ÚČTENKY PO SKUTOČNÝ VÝSLEDOK

Č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 →
Úvodná stránka s ručným zadaním kódu a nahratím fotky
01 · Účtenka. Kód môžeš napísať alebo prečítať z fotky. QR sa skúša ako prvé, nasleduje OCR. Rozpoznaný text sa dá pred overením opraviť.
Ukážkový dotazník s otvorenou doplňujúcou otázkou
02 · Odpovede. Výber „Nespokojný“ v ukážke otvorí otázku „Čo môžeme zlepšiť?“. Povinné skryté polia neblokujú pokračovanie.
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.

Automaticky vyplnený súhrn v režime bez automatického odoslania
Vyplnené bez preklikávania otázok. Tento súhrn sa zobrazuje pri vypnutom automatickom odoslaní.
Dokončená ukážka s obrázkom výslednej stránky
03 · Výsledok. Aplikácia zobrazuje zachytenú koncovú stránku. Na snímke je demo; nevyrába platné odmenové kódy.
Úvodná stránka na mobilnej šírke 390 pixelov
Aj na menšom displeji. Rozloženie bolo vizuálne overené pri šírke 390 px. Lokálny server počúva iba na tomto počítači; cloudová verzia funguje aj z mobilu.
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ý.

Skutočný výsledok: web nevydal kupón, odporúča vyplnenie v aplikácii
Ako sú prepojené jednotlivé časti
Fotka / kód→ lokálne QR + OCR→ pôvodný dotazník→ tvoje odpovede→ kontrola a odoslanie→ výsledná stránka

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

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

Otvoriť mcnazor.kusik.net ↗

Fotka → OCR v tvojom prehliadačiWorker → API + statické stránkyDurable Object → stav relácieBrowser Run → pôvodný dotazník

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 start

Otvoriť: http://localhost:4317. Port možno zmeniť cez premennú PORT. Aplikácia počúva iba na 127.0.0.1.