Marek Konderla - Web Developer

Marek Konderla

Web developer

Ahoj, jsem vývojářem už přes 10 let a rád bych se ti blíže představil skrze pár vybraných projektů, které mě nadchly svou jedinečností v praxi plné e-shopů, prezentačních webů, CRMek a CMSek.

Každý prezentovaný projekt obsahoval alespoň jednu unikátní funkci nebo myšlenku , která mi dovolila si vyzkoušet nové technologie nebo otestovat své hranice.

Projekty

Prezentované projekty jsou pouze ty, které jsem nevyhotovil jako subdodavatel a najdete mezi nimi i komerční aplikace, určené jak pro profíky, tak širokou veřejnost. Pokud tě zajímá má pracovní náplň více informací nalezneš v sekci Timeline.

Komerční software

Lensys.cz

Lensys.cz byl mým prvním větším Angular projektem, který začal jako jednoduchá myšlenka, vytvořit software pro fotografy na sdílení a výběr fotografii, avšak časem přerostl v kumulaci všeho, co jsem se kdy naučil. Software aktuálně obsahuje kromě sdílení fotografií, také rezervační a fakturační systém, můžete si editovat emailové šablony odesílané klientům, spravovat svou nabídku služeb a kupónů, nebo odesílat dotazníky. Ale své místo na tomto seznamu si získal díky technologickému řešení zpracování a ukládání fotografií.

Serverless image handling

Díky tomuto projektu se naskytla dokonalá příležitost vyzkoušet AWS a byla to ta první věc, do které jsem se pustil. Řešení ve finální podobě funguje takto: nahraná fotografie se odešle na server, který vloží fotku na Dropbox, vrátí zpátky CDN url adresu AWS, která v případě, že nenalezne produkt v cachi, spustí Lambda script, jenž si stáhne originál z Dropboxu, vytvoří thumbnail pomocí knihovný Sharp a do cache CDNky vrátí požadovaný obrázek. Můj server je tak pouze přítomen při prvním uploadu.

Angular
GraphQL
Nette
AWS
PHP
E-shop

Kanclik.cz

Kanclik.cz je e-shop nabízející nábytek na míru a aby mohl své služby co nejlépe prezentovat, rozhodl jsem se vytvořit konfigurovatelné 3d modely nabízeného zboží. Kromě toho, každý nastavitelný produkt, obsahuje i konfigurační soubor, jenž si po dokončení objednávky administrátoři e-shopu nahrají do svého softwaru na modelování nábytku, a okamžitě vidí klientův výběr. S tímto modelem pak můžou dále pracovat a připravit ho do výroby.

3D Konfigurátor v CSS

Jelikož jsem již měl nějakou zkušenost s 3D modelováním v CSS, rozhodl jsem se jít touto cestou místo využití np. Three.js. První model jsem tak dokázal vytvořit docela rychle a výsledný kód generuje vlastní PHP knihovna, která funguje taky jako abstraktní vrstva mezi konfigurací vzhledu a způsobem jakým se model zobrazí. Můžu tak v případě refactoringu vyměnit HTML+CSS za Three.js.

PHP
CSS + JS
Interní aplikace

Správa objednávek a řízení logistiky

Při tvorbě tohoto projektu jsem již měl zkušenost s Reactem i Angularem, ale kvůli nízké komplexitě jsem se rozhodl použít React a rozšířit své zkušenosti o Redux. Po dokončení náročnější části backendu, mi zbylo docela dost času a mohl jsem ušetřený čas investovat do prozkoumání možnosti Reduxu a upravit kód tak aby byl čitelnější, lépe strukturovaný a vyeliminoval jsem nadbytečné rerendery.

Multiplatformní aplikace

Hlavními uživateli aplikace jsou kromě administrátorů e-shopu kanclik.cz, kteří pracují na desktopech, také kluci z dílny, využívající tablet a řidiči, využívající mobil.

JS framework, byl proto dokonalá volba, jelikož ve chvíli, kdy bude potřeba vytvořit multiplatformní mobilní aplikaci, budeme mít připravené API a můžeme pak vytvořit jednoduchý webview, nebo předělat appku do React Native. Nechali jsme si tak otevřené dveře, pro potencionální růst, aniž bychom investovali více času a peněz.

React
Redux
Rest API
PHP
Komerční software

Chytreobálky.cz

V mém seznamu bude tento projekt určitě nejstarší, jelikož vznikal v době, kdy využití OpenBanking bez certifikace byla jenom pouhá myšlenka a napojit se na všechny banky navíc zdarma, byl jenom sen. Ale s rostoucími výdaji a s faktem, že většina mých známých mělo FIO právě díky jejich API, se naskytla dokonalá příležitost vytvořit systém jak pro mě a mé známe, tak i kohokoli kdo by hledal jednoduchou správu rozpočtu.

Jednoduché řízení rozpočtu s napojením na banku

Po pravdě se jednalo už o druhou iteraci, ale po předimenzované první variantě, jsem se rozhodl zaměřit na jednoduchost, a hlavně co nejmenší administrativu, což obálková metoda splnila. Jako první jsem napojil FIO a vytvořil konfiguraci krok za krokem, pro všechny nové uživatele.

Měl jsem tak připravené MVP, které jsem zveřejnil a časem obohatil o další funkce, a i když kromě AirBanku, kde jsem transakce četl z emailů, už nepřibyly žádné další banky, aplikace je stále dostupná zdarma na adrese chytreobalky.cz a stále mi poskytuje dostatečné uspokojení v oblasti budget managementu.

PHP
Nette
Fio API
Mail scrapping
Interní aplikace

CMS + PageBuilder

Jak se říká, neexistuje programátor, který by si alespoň jednou nezkusil vytvořit svůj vlastní framework, u mě to bohužel platí pro CMS😃.

Angular už pro mě nebyla úplně novinka a se skládáním obsahu stránek jsem měl již nějakou zkušenost z projektu Sirius nebo ze systému pro skládání emailu v projektu Bryson, proto jsem se rozhodl pro pár příštích projektů vytvořit CMS, které by spojovalo jednoduchost editoru mailchimp, vizuální zobrazení dle wix.com a správu obsahu na jaký jsou naši klienti zvyklí.

Real-time wysiwyg editor stránek

Hlavním lákadlem bylo samozřejmě kromě vytvoření WYSIWYG editorů, také vymyšlení, jak budeme konfigurovatelný obsah ukládat a následně zobrazovat. Jelikož jsem nechtěl stránky generovat v Angularu tak jsem vymyslel způsob, jak v Nette vytvářet komponenty, které pomocí CLI, můžu přetvořit do Angularu, jenž pak využijí sdílené CSS, což zajistí stejný vzhled jak v administraci, tak na frontendu.

Celá stránka je uložená jako JSON, který zpracuje rekurzivně funkce pro dynamické generování obsahu.

Vzhled stránky se mění okamžitě, a na místo využití state managementu jako NgRx jsem vytvořil mutabilní objekt, který díky two-way data bindingu a způsobu jakým angular překresluje DOM, mi umožňuje modifikovat komponenty, bez dispatchování akci a razantně tak snižuje boilerplate, kterému bych se jinak nevyhnul.

Angular
GraphQL
Nette
PHP

Timeline

Zde pokusím v časovém horizontu naznačit jak práce na jednotlivých projektech a pro dané společnosti obohatila mé dovednosti a ovlivnila mé zaměření.

2021 - Současnost
GolferIS.cz s.r.o. - Golfový systém

Projekt, jenž se zrodil v hlavách tvůrců Brysona, mě znova zavedl do neprobádané oblasti pokročilých rezervačních a pokladních systému a umožnil mi spolupracovat se zkušeným designerem, který povznesl celý projekt na novou úroveň.

Dostal jsem možnost i oprášit své zkušenosti při tvorbě skladového modulu, návrhu databázové struktury e-shopu a tvorbu frontendové části klubového e-shopu.

+ React
+ Mantine
PHP
Nette
GraphQL
Typescript
2020 - 2022
Lensys.cz - Vývoj komerčního software pro fotografy

O Lensysu si můžete pročíst více v sekci Projekty, na tuto timelinu jsem ho ale přidal abych zaznamenal tento pro mě důležitý moment a pomalý náklon k frontendovým JS frameworkům a NodeJS.

+ Angular
+ Typescript
+ GraphQL
+ Material Design
PHP
Nette
2019 - Současnost
TCM.golf s.r.o. - Vývoj golfového systému Bryson

Práce na Brysonu, softwaru pro golfové hráče a trenéry, byla pro mě rozhodně velkým momentem a zajímavou výzvou už od samotného začátku. Ze dne na den jsem se ocitl v oboru, který mi byl cizí, ale jak léta ubíhali nalezl jsem zalíbení, jak v golfu, tak v softwaru, který jsme vyvíjeli.

Mým úkolem nebylo vytvořit jenom další CRUD UI, ale nabídnout hráčům i trenérům možnost zadat a analyzovat každý úder, porovnat se s jinými hráči a sledovat svůj vývoj ve statistikách.

+ PHP 8.0
+ Freelo
+ Figma
Nette
2017 - 2023
SOLARIS.media s.r.o. - Vývoj stránek a CMS Sirius

Společnost SOLARIS.media byla v mých začátcích velkou oporou, která mi umožnila se podílet na vývoji velkého CMS v Nette a být aktivní součástí v rozhodovacích procesech i jako junior. V době, kdy to píšu Sirius stále roste, a i když se po těch letech naše spolupráce ztenčila, jsem rád, že můžu být stále aktivním členem zkušeného týmu.

+ PHP 7.2
+ Nette
+ Jira
2017 - Současnost
BiteIT.cz s.r.o. - Tvorba webů a e-shopů v proprietárním CMS BiteSHOP

V prvním roce na volné noze jsme se společně s mým mentorem rozhodli spojit síly a budovat portfolio pod vlajkou BiteIT.cz.

Vytvořili jsme proprietární CMS BiteSHOP, který doteď pohání naše e-shopy a weby. A i když se teď soustředíme spíše na interní aplikace, BiteSHOP stále žije, a drží krok s dobou.

+ Bitbucket
+ NPM
+ Gulp
+ SCSS
2013 - 2017
PCsupport.cz s.r.o. - Tvorba webů a e-shopů v Joomle

První společnost, pro kterou jsem pracoval mi umožnila být součástí celého ekosystému e-commerce, kde jsem si vyzkoušel vše od designu, tvorby a spuštění až po technickou podporu či řízení expedice.

Poslední dva roky, jsem pak kromě webových stránek, strávil programováním a údržbou expedičního softwaru.

+ PHP 5.6 - 7
+ CSS
+ HTML
+ JS
+ Boostrap
+ jQuery
+ mySQL
+ MSSQL
+ Composer
+ Joomla
+ Asana
10let
PHP
10let
HTML + CSS + JS
6let
Nette
3roky
Angular
1rok
React