REALIZÁCIA JZDEV
kvetyjanka.sk
Lokálny e-shop a prezentačný web pre kvetinárstvo Kvety Janka s dvoma pobočkami v Žiline a Bytči. Web spája online objednávanie vybraných kytíc, donášku, obsahové články a rozsiahlu administračnú časť bez použitia CMS.
CIEĽ
Cieľ projektu
Cieľom projektu bolo vytvoriť rýchly a prehľadný web pre lokálne kvetinárstvo, ktorý nebude iba katalógom produktov, ale dlhodobo použiteľnou platformou pre online objednávky, obsah, komunikáciu so zákazníkmi a každodennú správu prevádzky.
Dôležitou súčasťou bolo zachovať jednoduché používanie pre zákazníka a zároveň vytvoriť vlastnú administráciu, v ktorej je možné spravovať produkty, objednávky, obsah, pobočky, platby, fakturáciu a technický dohľad nad aplikáciou.
RIEŠENIE
Čo projekt rieši
Aplikácia obsahuje plne funkčný e-shop a vlastnú administračnú časť pre každodennú správu webu.
Zákaznícka časť obsahuje:
- prehľad produktov podľa kategórií a filtrovanie ponuky,
- detail produktu s mini galériou, fullscreen náhľadom a súvisiacimi produktmi,
- nákupný košík a viac-krokový checkout,
- osobný odber alebo donášku podľa dostupnej lokality,
- platbu cez GoPay kartou, Google Pay alebo Apple Pay,
- automatické vytvorenie faktúry po potvrdení platby,
- používateľský profil s históriou a detailom objednávok,
- registráciu, prihlásenie a bezpečný reset hesla,
- galériu realizácií,
- články rozdelené do tematických kategórií – meniny, sviatky, príležitosti, inšpirácie a praktické rady,
- samostatné informácie o donáške a cenníku donášky,
- FAQ a zákaznícke informačné stránky,
- obchodné podmienky pre obe pobočky, reklamačný poriadok, ochranu osobných údajov a odstúpenie od zmluvy.
Administrácia umožňuje:
- spravovať produkty, kategórie, dostupnosť, obrázky a soft-delete,
- spravovať galériu, highlight obsah a ďalšie časti homepage,
- spravovať objednávky, ich stav, platbu a spôsob doručenia,
- vytvárať telefonické a manuálne objednávky priamo v administrácii,
- generovať a spravovať faktúry a dobropisy,
- spravovať používateľov a zákaznícke údaje,
- spravovať pobočky a ich údaje,
- upravovať statické stránky a obsah webu bez externého CMS,
- centrálne zobrazovať aplikačné, administračné, GoPay a ďalšie technické logy,
- sledovať problematické záznamy bez potreby manuálneho prezerania log súborov,
- zobrazovať vybrané GA4 štatistiky priamo v administračnom rozhraní,
- priebežne rozširovať reporting o ďalšie zdroje, vrátane plánovaného napojenia dát z Google Search Console.
POUŽITEĽNOSŤ
Použiteľnosť a prístupnosť
Verejná časť webu prešla kompletným vizuálnym a responzívnym redesignom. Cieľom nebolo iba zmeniť farby, ale vytvoriť jednotný systém komponentov, ktorý funguje od malého mobilu až po veľký desktop.
- samostatný svetlý a tmavý režim,
- nová responzívna navigácia s mobilným menu a používateľským dropdownom,
- nová homepage s hero sekciou, meninami, sviatkami, odporúčaniami, produktmi, galériou, článkami a pobočkami,
- samostatný dizajn pre ponuku, detail produktu, košík, checkout, profil, články a statické stránky,
- sticky filtre a tematická navigácia tam, kde pomáhajú pri dlhšom obsahu,
- responzívne tabuľky a mobilné kartové zobrazenia,
- vlastné Bootstrap modaly namiesto systémových alertov a confirm dialógov,
- centrálne toast notifikácie pre úspech, chybu, upozornenie a informáciu,
- keyboard/focus stavy a priebežná kontrola prístupnosti pomocou WAVE, W3C a Lighthouse.
KVALITA
Výkon a optimalizácia
Projekt priebežne prechádza technickou a výkonnostnou optimalizáciou. Zmeny sa nerobia iba podľa skóre nástrojov, ale podľa reálneho dopadu na načítanie a používanie stránky.
- obrázky sú optimalizované do WebP a používajú pevné rozmery, správny
object-fita lazy loading mimo kritického obsahu, - hero obrázky majú samostatné desktopové a mobilné varianty,
- CSS je rozdelené na globálnu vrstvu a samostatné štýly väčších public stránok,
- source a minifikované CSS zostávajú synchronizované,
- JavaScript sa načítava podľa potreby a kritické správanie sa neminifikuje mechanicky bez následného testovania,
- slider komponenty sa inicializujú až podľa reálneho počtu položiek a breakpointov,
- odstránené boli desiatky nepoužívaných CSS, JS, fontových a obrazových assetov,
- frontend bol kontrolovaný cez PageSpeed Insights, WAVE, W3C HTML/CSS validator a nové kontroly dostupnosti pre AI agentov.
Po redizajne dosahuje verejná časť v opakovaných mobilných Lighthouse testoch približne 87–91 bodov za výkon a 100 bodov za prístupnosť, odporúčané postupy a SEO. Kontrola dostupnosti pre AI agentov dosahuje 3/3.
PRAX
Výzvy a riešenia
1. Bezpečný platobný flow a GoPay integrácia
Platba nesmie byť považovaná za úspešnú iba podľa návratu používateľa z platobnej brány. Stav sa preto overuje serverovo a objednávka, e-mail aj faktúra sa dokončia až po potvrdení stavu PAID.
2. Odolnosť voči duplicitným a oneskoreným udalostiam
Platobná vrstva eviduje pokusy a udalosti z brány tak, aby opakovaný callback, refresh alebo súbežná požiadavka nevytvorili duplicitnú objednávku, faktúru alebo e-mail.
3. Bezpečný upload obrázkov a videí
Súbory sa najskôr ukladajú do dočasného priestoru a finalizujú sa až pri úspešnom uložení obsahu. Nevyužité uploady sa automaticky čistia.
4. Telefonické objednávky a fakturácia mimo e-shopu
Administrácia umožňuje vytvoriť objednávku prijatú telefonicky alebo osobne a použiť pritom rovnaký fakturačný systém vrátane faktúr a dobropisov.
5. Centralizácia diagnostiky a logov
Namiesto manuálneho prezerania viacerých log súborov vznikol spoločný administračný prehľad, ktorý oddeľuje skutočné chyby, upozornenia, validačné udalosti a diagnostické záznamy.
6. Kompletný public redesign bez zásahu do funkčného backendu
Verejná časť bola prerobená po jednotlivých stránkach pri zachovaní existujúcich JavaScript, checkout, upload a backendových kontraktov. Každý krok prechádzal automatizovanými testami a responzívnym smoke testom.
7. Prístupnosť, validácia a AI čitateľnosť
Po redizajne boli samostatne kontrolované ARIA väzby, focus stavy, kontrast, HTML/CSS validita a štruktúra DOM pre nové agentové kontroly v Lighthouse. Výsledkom je WAVE bez potvrdených chýb na kontrolovaných stránkach a Lighthouse Accessibility 100.
8. Obsah a organická viditeľnosť
Projekt bol rozšírený o články podľa menín, sviatkov a ďalších príležitostí, vlastné SEO meta údaje, štruktúrované dáta a IndexNow. Google Search Console už zaznamenáva zobrazenia obsahu Kvety Janka aj v generatívnych AI výsledkoch.
STACK
Použité technológie
Projekt KvetyJanka je postavený ako moderná webová aplikácia na platforme ASP.NET Core 9 MVC. Backend je optimalizovaný pomocou Dapper ORM pre rýchle a priamočiare SQL dotazy bez zbytočného overheadu.
Na frontende je použitý Bootstrap 5 s vlastným responzívnym vizuálnym systémom, pričom väčšina dizajnu a komponentov je riešená vlastným CSS.
- ASP.NET Core 9 MVC
- Dapper ORM
- SQL Server
- Bootstrap 5 + vlastný CSS/UI systém
- Swiper.js pre produktové a galériové slidery
- ImageSharp pre spracovanie a optimalizáciu obrázkov
- QuestPDF pre generovanie faktúr a dobropisov
- GoPay API pre online platby
- Google Analytics 4 + Google Analytics Data API
- IndexNow, sitemap.xml, robots.txt a štruktúrované SEO dáta
- Razor Views + Partial Views
- SMTP pre transakčné e-maily
- Cookie-based autentifikácia + Session
POD KAPOTOU
Technické riešenie
Projekt bol vytvorený bez CMS, so zameraním na maximálnu kontrolu nad backendom, bezpečnosťou, platbami a frontendovým správaním.
- upload obrázkov prebieha najskôr do dočasného priečinka
/uploads/tmp/a až po uložení záznamu sa presúva do finálneho umiestnenia, - pri opustení formulára sa nepoužité dočasné uploady automaticky čistia,
- autentifikácia používa perzistentné cookies, bezpečný reset hesla a invalidáciu starých prihlasovacích relácií po bezpečnostnej zmene,
- GoPay integrácia overuje výsledok platby na serveri a až po stave PAID označí objednávku za zaplatenú,
- faktúra sa generuje až po úspešnom potvrdení platby, čím sa zabraňuje vzniku faktúr pre nedokončené objednávky,
- platobná vrstva eviduje pokusy a udalosti platobnej brány a je navrhnutá tak, aby zvládla aj opakované alebo oneskorené notifikácie,
- telefonické objednávky sú oddelené do vlastného administračného modulu, ale používajú rovnaké obchodné dáta a fakturačné pravidlá,
- technické logy sú centralizované a sprístupnené cez administračné rozhranie s rozlíšením chyby, upozornenia a bežnej diagnostiky,
- GA4 reporting je načítavaný serverovo cez Google Analytics Data API,
- SEO vrstva zahŕňa dynamické meta údaje, Open Graph, sitemap, robots.txt, schema.org dáta a IndexNow,
- vlastné 404 a stavové stránky zachovávajú konzistentný vzhľad verejnej časti.
VÝSLEDOK
Výsledok
KvetyJanka.sk sa postupne z jednoduchého prezentačného webu rozvinul na vlastnú obchodnú a obsahovú platformu pre reálnu prevádzku kvetinárstva.
Projekt dnes spája e-shop, online platby, fakturáciu, telefonické objednávky, zákaznícke účty, články, galériu, správu dvoch pobočiek, analytiku a technický monitoring v jednom systéme bez závislosti od externého CMS.
Po bezpečnostnom, platobnom a frontendovom audite prešiel projekt rozsiahlym hardeningom a kompletným redesignom verejnej časti. Aktuálny produkčný stav je krytý 654 automatizovanými testami a následnými produkčnými smoke a accessibility kontrolami.
SEO a obsahová stratégia prinášajú projektu reálnu organickú viditeľnosť vo vyhľadávačoch aj v nových AI výsledkoch.
- viac ako 580 000 zobrazení vo výsledkoch Google Search,
- približne 2 550 organických kliknutí,
- priemerná pozícia vo vyhľadávaní približne 7,1,
- 86 % návštevnosti z neznačkových vyhľadávacích dotazov,
- približne 2 500 zobrazení v generatívnych AI funkciách Google za posledné 3 mesiace,
- obsah webu je citovaný aj v Microsoft Copilot a partnerských AI službách.
Počas prvých približne dvoch týždňov sledovania v Bing Webmaster Tools bol obsah KvetyJanka.sk zaznamenaný v 24 citáciách v Microsoft Copilot a partnerských AI službách.
Viditeľnosť nevytvára iba domovská stránka. Významnú časť výsledkov prinášajú tematické články o meninách, sviatkoch a príležitostiach, ktoré zachytávajú relevantné informačné vyhľadávania a následne prepájajú návštevníkov s ponukou kvetinárstva.