„Vždy jsem se snažil propojit studium s reálnými projekty z pracovního prostředí, aby čas strávený nad zadáním nevyšel vniveč,“ říká Michal Půlpán. Absolvent softwarového a datového inženýrství na Matfyzu v rámci své diplomové práce vytvořil aplikaci, která šetří čas a energii internetovým obchodům i koncovým zákazníkům. Jeho software už přes rok funguje v ostrém provozu.

Mohl byste stručně představit svou práci?
V dnešní době nakupuje online téměř každý a e-shop je pro firmy často klíčem k úspěchu. Klíčovou roli v zákaznické spokojenosti hraje rychlost doručení, která však často závisí na tom, jak efektivní jsou procesy odesílatele. Pokud expedice trvá příliš dlouho, ani rychlá doprava to nezachrání.
Parcelsync je webová aplikace, která propojuje internetové obchody s přepravními společnostmi. Umožňuje firmám efektivně předávat data přepravcům a zároveň je zpracovávat a sjednocovat, protože každý přepravce používá odlišné datové formáty. Namísto manuální výměny CSV souborů nebo neefektivních napojení „na koleni“ nabízí Parcelsync elegantní a funkční řešení.
Kromě optimalizace procesů expedice aplikace nabízí přizpůsobitelné notifikační e-maily a sledovací stránku pro zákazníky. Tím nejen zrychluje logistiku, ale také posiluje značku v průběhu přepravy a zlepšuje ponákupní zkušenost.
Co vás inspirovalo k tomu, abyste se zaměřil právě na toto téma?
Tuto problematiku jsem dlouhodobě vnímal z první ruky. Postupem času mi došlo, že neefektivní řešení „na koleni“ jsou nejen těžko udržitelná, ale i zbytečně komplikují práci. To mě inspirovalo k tomu, abych vytvořil nástroj, který tuto situaci zjednoduší a bude přínosný pro širší okruh uživatelů. Tak vznikla myšlenka spojit užitečné s příjemným a nabídnout funkční řešení, které firmám reálně pomůže.
Můžete vysvětlit, jaký konkrétní přínos nebo využití má vaše práce?
Ještě před obhajobou prošlo systémem více než 6,5 tisíce zásilek převážně pro koncové zákazníky. Díky této práci se podařilo výrazně zefektivnit celý proces v testovaném provozu. Zodpovědnost za odesílání notifikací o expedici byla přenesena mimo firmu (od interních skriptů), což firmě ušetřilo čas i zdroje.
Navíc jsme zjistili, že zákazníci aktivně využívají naši sledovací stránku a necítí potřebu přecházet na oficiální stránky přepravců. Díky tomu jim můžeme nabídnout jednotnou platformu, prezentovanou v barvách značky, a zároveň přidat marketingové prvky, které zvyšují hodnotu interakce a podporují značku firmy.
S jakými technologiemi jste pracoval a jaké metody jste využíval?
Pro backend jsem zvolil JavaScript, respektive TypeScript, a framework KoaJS. Jde o lehké řešení, které sice vyžaduje trochu náročnější úvodní seznámení, ale odmění vás efektivitou při zpracovávání požadavků a rychlostí vývoje.
Frontend jsem postavil na klasickém Reactu bez využití frameworku. Nicméně s odstupem času bych dnes už pravděpodobně sáhl po některém z React frameworků, jako je například NextJS, se kterým se v posledních verzích pracuje velmi dobře a přináší spoustu výhod oproti create-react-app, které už dnes není preferované pro vývoj čehokoli většího.
Co bylo během psaní vaší práce nejtěžší? Je něco, co byste zpětně udělal jinak?
Jedním z cílů bylo nasazení aplikace do produkčního prostředí, což jsem realizoval pomocí Infrastructure as Code na AWS. Celý proces nasazení se povedl, a dokonce mi asi týden před odevzdáním doslova zachránil krk – omylem jsem si zablokoval účet na AWS. Díky pečlivě připravené infrastruktuře jsem ale aplikaci dokázal rychle nasadit do nového účtu.
Zpětně to vnímám jako skvělou zkušenost, ale z hlediska reálného provozu a nákladů bych dnes zvolil jiný přístup. Vzhledem k náročnosti aplikace by bylo ekonomicky výhodnější nasazení na klasické VPS s kontejnery. Hlavně databáze na AWS je docela drahá, což by provoz na VPS výrazně zlevnilo.
Jakým způsobem jste ověřoval výsledky své práce?
Velkou pomocí byli kolegové ve firmě, kde byla aplikace testována přímo v provozu a zároveň napojena na systém SAP Business One. Díky jejich podpoře jsem měl okamžitý přístup k testovacím datům, což mi umožnilo soustředit se na vývoj a testování na skutečných scénářích.
Aplikace byla také 2–3 měsíce před obhajobou nasazena do ostrého provozu. Během této doby se objevilo několik neočekávaných situací, například chybějící data tam, kde by být měla, nebo problémy způsobené špatnou dokumentací externích služeb, se kterými aplikace pracuje. Tyto výzvy mi pomohly aplikaci doladit a zajistit, že bude stabilní a spolehlivá i v náročných podmínkách.
Co považujete za nejdůležitější výsledek nebo závěr své práce?
Za nejdůležitější výsledek považuji to, že aplikace výrazně usnadňuje každodenní provoz a přináší reálný užitek napříč celou firmou. Od prvního kontaktu se zbožím ve skladu až po fakturační oddělení, kde se kontrolují (a případně reklamují) nedoručené zásilky, a také při efektivnější synchronizaci vyúčtování s přepravními společnostmi.
Navíc koncoví zákazníci aktivně využívají sledovací stránku, kterou aplikace poskytuje, což dokazuje, že řešení skutečně odpovídá jejich potřebám. Tento praktický dopad mě přesvědčuje o tom, že má práce má smysl a přináší hodnotu nejen firmám, ale i jejich zákazníkům.
Máte pocit, že vaše práce může být inspirací pro další studenty nebo odborníky v dané oblasti?
Určitě ano. Vždy jsem se snažil propojit studium s reálnými projekty z pracovního prostředí, aby čas strávený nad zadáním nevyšel vniveč. Je samozřejmě cenné zkoušet různé přístupy a nabírat zkušenosti, ale vzhledem k času a úsilí, které každý na Matfyzu věnuje bakalářským, diplomovým, výzkumným či softwarovým projektům, je škoda, když výsledky skončí tzv. v šuplíku.
Můj vedoucí, pan Škoda, mi v tomto ohledu dal téměř volnou ruku a skvěle mne v průběhu celé práce právě k tomuto vedl. Díky tomu vznikla práce, která má praktický přesah. Přestože je silně implementační, neslouží jen jako teoretická ukázka, ale našla reálné uplatnění. To považuji za klíčové – zamýšlet se nad projekty tak, aby přinášely reálný užitek.
Zároveň bych rád zdůraznil, že má rada nespočívá v tom, aby každý vytvářel pouze implementační práce, to by nebylo správné. Důležité je přistupovat k zadáním s myšlenkou, jak mohou být přínosná ostatním, a zaměřit se na řešení nějakého existujícího problému. Pokud něco trápí mě nebo mé okolí, je pravděpodobné, že se s tím potýká i někdo jiný. Často se jedná o zdánlivě drobná vylepšení, která však mohou být v jádru velmi komplexní. Nebo naopak, díky sérii menších změn postupně vytvoříte něco, co přinese významný rozdíl.
Téma mé práce nebylo mým původním nápadem. Měl jsem několik návrhů, které jsme postupně vyloučili, a nakonec zvítězilo toto, přestože jsem si původně myslel, že neprojde právě kvůli jeho čistě implementační povaze. Jsem rád, že se to podařilo.
Jaké jsou vaše plány do budoucna?
I když bylo léto po studiích na Matfyzu z pochopitelných důvodů dost nabité, už teď mám plány na další rozvoj tohoto projektu. Mým cílem je jednak průběžně hledat další uživatele a zároveň rozšiřovat možnosti napojení na další přepravní společnosti. Právě tato oblast je podle mě klíčovou výzvou, kterou je třeba překonat, aby aplikace mohla expandovat a oslovit širší okruh uživatelů. Věřím, že s postupným vylepšováním a rozšiřováním funkcionality může projekt dosáhnout ještě většího úspěchu.
Aplikace Parcelsync, která vznikla jako diplomová práce Michala Půlpána
na MFF UK
Odkazy: