Pro společnost Wavedigital s.r.o. jsme navrhli a vyvinuli kompletní e-shopovou platformu – B2B i B2C e-commerce pro více trhů, kterou Wavedigital nabízí jako vlastní produkt a nasazuje ji dalším obchodům. Nejde o jeden e-shop, ale o hotový, odladěný základ: katalog, ceny, objednávky, dopravci, platby, sklad a fakturace, srovnávače, měření i plně editovatelný obsah. Každý nový klient Wavedigitalu dostane tuto platformu přizpůsobenou své značce, sortimentu, trhům a procesům – a startuje za zlomek času a ceny vývoje od nuly.
Platforma je v ostrém provozu a obsluhuje reálné objednávky. Každá schopnost popsaná níže je hotový kód, ne plán.
Produkt určený ke kopírování
Od prvního dne jsme stavěli s tím, že platforma poběží u mnoha klientů najednou. Proto je všechno, co se mezi obchody liší, nastavení v administraci, ne zásah do kódu: trhy, měny, DPH, dopravci, platby, ERP, e-mailové šablony, měřicí kódy, feedy i obsah webu. Frontend se pro každého klienta staví na míru – žádná šablona natvrdo, design i texty zůstávají v rukou klienta.
- Nasazení pro nového klienta = nový vzhled storefrontu, obsah v CMS a konfigurace v adminu. Jádro, logika a integrace zůstávají stejné a otestované.
- Klient bez ERP a bez smluv s dopravci začíná s ručním skladem, ruční fakturací a ručním dopravcem – přesně v té podobě běží veřejné demo. Napojení se dají zapnout později bez přepisování.
- Nový prodejní kanál (mobilní aplikace, pokladna, marketplace) se napojí na hotové API – je to integrace, ne přestavba systému.
Architektura: API-first a headless
Jedno API v ASP.NET (.NET 10) pohání storefront, administraci i cokoli dalšího. Uvnitř je modulární monolit se sedmnácti oddělenými moduly, každý s vlastním datovým modelem (EF Core nad PostgreSQL). Nový kanál se napojuje, ne dopisuje do jádra.
- Storefront v Next.js 16 a React 19 – vykreslování na serveru, rychlé načítání, přístupnost a SEO. Domény a jazyky po trzích.
- Strapi 5 jako headless CMS – stránky, sekce, bloky, blog a právní texty edituje klient sám. Produkty a ceny jdou z API, ne z CMS, takže obsah a byznys logika se nepletou.
- Samostatná administrace – kolem sedmdesáti obrazovek rozdělených podle práce: denní provoz, nastavení a kontrola.
- Přes tisíc integračních testů proti reálné databázi a end-to-end scénáře plateb a vratek.
Více trhů a plná lokalizace
Platforma pracuje s trhy CZ, SK a PL. Každý trh má vlastní měnu, sazby DPH a daňový režim, dopravce, platby, e-mailovou identitu odesílatele i měřicí kód. Texty pro zákazníka řeší API, ne frontend – jedna změna se propíše na web, do e-mailů i na doklady. Admin ukazuje tržby rozdělené po trzích (např. Česko v CZK a Slovensko v EUR) včetně rozpadu na DPH, dopravu a platební poplatky, aby čísla šla přímo porovnat se srovnávači.
Ceny pro B2B i B2C v jednom ceníku
- Cenové skupiny – velkoobchod, partner, VIP, kolik jich obchod potřebuje. Zákazník zařazený do skupiny hned vidí své ceny na webu i ve svém účtu.
- Individuální ceny konkrétního zákazníka procentem nebo pevnou částkou, od jedné varianty po celou značku, jen pro vybraný trh a s platností od–do.
- Systém vždy vybere nejvýhodnější cenu – žádné pravidlo cenu nikdy nezvýší. Každá změna ceny i zařazení do skupiny má záznam v historii.
- Omnibus – hlídání nejnižší ceny za posledních 30 dní, sleva se ukáže jen při skutečném poklesu.
Akce, kupony a věrnostní program
- Sleva procentem, pevnou částkou, doprava zdarma nebo „kup dva, třetí zdarma“. Kupony i automatické akce bez kódu a bez nasazování.
- Cílení na produkty, kategorie, značky, celý košík i nejlevnější položku. Podmínky jako minimální útrata, počet kusů, první objednávka nebo konkrétní cenová skupina.
- Skládání slev pod kontrolou – akce může být výhradní, „vyhrává nejlepší“ nebo kombinovatelná. Pojistka proti překlepu: celková sleva na košík nepřekročí nastavený strop.
- Kupony generované dávkou s limitem použití celkem i na zákazníka, plánování dopředu, stavy koncept / aktivní / pozastavená, cílení po trzích. Co se kde uplatnilo, zůstává u objednávky – vyhodnocení kampaně je otázka filtru.
- Věrnostní program – body za doručené objednávky (zvlášť sazba pro Kč a pro €, aby kurz nehýbal programem), úrovně Basic, Bronze, Silver a Gold se slevou až 10 %, body se při vrácení zboží zase odečtou.
Katalog a produktová data
- Import katalogu, který přenáší jen to, co se opravdu změnilo, a import z XML feedů dodavatelů včetně stažení fotek.
- Varianty a jejich slučování, parametry podle druhu zboží, značky, sady, příslušenství a alternativy.
- Kategorie včetně automatických („novinky“, „výprodej“), překlady a viditelnost po trzích, vlastní pořadí filtrů.
- Fulltextové vyhledávání v PostgreSQL s vlastním řazením relevance a statistikou hledaných výrazů.
- Náhledy obrázků ve WebP generované na serveru, dokumenty a certifikáty u produktu, prodloužené záruky a příplatkové doplňky jako upsell přímo v košíku.
Dopravci: API i ruční režim
- Zásilkovna / Packeta – výdejní místa přes widget, štítky, sledování, dobírka (CZ i SK).
- PPL – kurýr i ParcelShop, štítky, hromadné sledování, živý katalog služeb v administraci.
- DPD – kurýr i výdejní místa, štítky přes API, slovenská pobočka s vlastním napojením.
- Balíkovna (Česká pošta) – výdejní místa i doručení na adresu, štítky, přetisk, sledování.
- SPS a pro polský trh DPD PL, InPost a Poczta Polska pod jedním napojením.
- Štítek se vytvoří sám při objednání zásilky – obsluha jen klikne a tiskne. Stavy zásilek se stahují automaticky a píšou do objednávky i do e-mailu zákazníkovi.
- Ceny podle hmotnosti, objemu i nejdelší strany, limity dopravců, nadrozměr, prahy dopravy zdarma, termín doručení počítaný po trzích a zpáteční adresy.
- Ruční dopravce pro obchody bez smlouvy s přepravcem – objednávka běží normálně, obsluha jen doplní číslo zásilky.
Platby: s bránou i bez ní
- GoPay – platba kartou v ostrém provozu, refundace, hlídání konfigurace. Stripe, ČSOB a PayU hotové v kódu, připravené k zapnutí.
- Dobírka s poplatkem podle dopravce a stropem hotovosti, převod na proformu a faktura se splatností pro ověřené B2B zákazníky, platba na prodejně.
- QR platba v e-mailu, na dokladu i na děkovací stránce (český, slovenský i polský formát), párování plateb z banky.
- Nezaplacené objednávky se samy připomínají a po lhůtě ruší.
Sklad, fakturace a ERP
- Money S3 – zásoba, ceníky, faktury a proformy, výdejky, převodky, příjemky.
- POHODA přes mServer – systém si sám ověří, co daná licence umí.
- Fakturownia (PL) a BitFaktura (SK) – fakturace včetně PDF a stavu zaplacení.
- Ruční sklad a ruční fakturace pro obchody bez ERP – doklady s vlastní číselnou řadou a PDF vystavuje samo API.
- Sklad a fakturace se přiřazují každému trhu zvlášť a dají se libovolně kombinovat. Rezervace zboží při objednávce podle způsobu platby, předobjednávky, dodací lhůty, upozornění na docházející zásobu, více skladů vedle sebe a ruční zámek položky, který synchronizace nepřepíše.
Marketing, měření a srovnávače
- Google Tag Manager a GA4 zadávané po trzích v administraci, ne v kódu. Cookie lišta s Consent Mode v2 a e-commerce události celého nákupního trychtýře.
- Serverová pojistka konverzí – když z prohlížeče nedorazí potvrzení nákupu, pošle ho server (GA4 Measurement Protocol, Meta Conversions API, Data Manager API). Storna a vratky se odečítají, aby tržby v reklamě seděly.
- Sedm nákupních kanálů se plní samo: Google Merchant, Heureka CZ a SK (včetně feedu dostupnosti obnovovaného v řádu minut a Heureka Marketplace), Zboží.cz, Ceneo, FAVI a Biano.
- Pravidla pro vyřazení produktu z feedu i z reklamy, vlastní štítky (cenové a maržové pásmo) pro chytřejší kampaně a pojistka publikace: propad nabídky se nezveřejní a vrátí se předchozí verze.
- Newsletter – Ecomail, Mailchimp, Brevo a Klaviyo s double opt-in; Heureka „Ověřeno zákazníky“ včetně souhlasu z pokladny.
- SEO – strukturovaná data produktu (recenze, dostupnost, doprava, vratky, FAQ), sitemapy a hreflang přes všechny jazyky a domény, automatická 301 přesměrování při změně adresy a IndexNow, které novou cenu či produkt hlásí vyhledávačům hned.
Zákazník a komunikace
- Online odstoupení od smlouvy podle směrnice EU 2011/83 – tlačítko, ne PDF ke stažení, i pro nákup bez registrace. Stavy od žádosti po vrácení peněz, refundace přes bránu nebo na účet a vrácené zboží automaticky zpět na sklad.
- Opuštěné košíky – připomínka s obsahem košíku jen zákazníkům, kteří o ni stáli, s nastavitelnou prodlevou, minimální hodnotou a maximálním stářím; zvlášť se hlídá rozdělaná platba.
- Přes 30 e-mailových šablon editovatelných ve všech jazycích, vlastní SMTP nebo Amazon SES s jiným odesílatelem pro každý trh, fronta s opakováním a automatické blokování nedoručitelných adres.
- Účet zákazníka pro firmy i spotřebitele – adresář, historie objednávek, vlastní ceny a věrnostní body; smazání účtu podle GDPR při zachování dokladů.
- Sledování objednávky bez přihlášení přes podepsaný odkaz a moderované recenze s označením ověřeného nákupu.
Administrace a provoz
Kolem sedmdesáti obrazovek pro denní provoz (objednávky s časovou osou a doklady, zásilky, vrácení, poptávky, zákazníci), nastavení bez vývojáře (doprava, platby, ERP, e-maily, měření, feedy) i kontrolu – zdraví front a úloh, kontrola publikace, akceptační testy nad ostrým webem s PDF protokolem, checkout simulátor a test QR plateb.
- Role a oprávnění (administrátor, editor, marketing, prohlížející) hlídá API i rozhraní; matice oprávnění je sama stránkou v adminu.
- Audit a historie – kdo, kdy a co změnil u produktů, cen, dopravy, plateb, SMTP i webhooků.
- Soubory v S3 s CDN nebo na serveru – přepínač, ne přepis; faktury, štítky a logy jen přes odkaz s omezenou platností.
- Provoz je vidět – logy v Loki, metriky v Prometheu, dashboardy v Grafaně a chyby v Sentry. Nasazení běží v Dockeru přes CI/CD se samostatným stagingem a produkcí.
Jak jsme na projektu pracovali
Platformu jsme pro Wavedigital postavili za pět měsíců v týmu tří lidí – od návrhu architektury a datového modelu přes API, storefront a administraci až po integrace dopravců, plateb a účetních systémů, měření a provozní monitoring. Výsledkem je produkt, který Wavedigital může prodávat opakovaně: každý další e-shop stojí na stejném otestovaném jádru a liší se jen tím, v čem se lišit má.









