Preskočiť na obsah

Marek Žiška · frontend vývojár · Praha

Frontend pre back office.

Administračné rozhrania, dátové tabuľky, komplexné formuláre, rolové oprávnenia — softvér, ktorý zákazníci nikdy nevidia a firmy na ňom stoja. Päť rokov frontendu; posledné tri a pol takmer výhradne React a TypeScript na produkčných back-office systémoch.

  • React · TypeScript
  • 4 produkčné admin platformy
  • Praha / remote
Admin platformy

Systémy, na ktorých firmy stoja

Všetko klientska práca, všetko pod NDA — takže žiadne mená, žiadne screenshoty, žiadne odkazy. Čo ukázať môžem, je tvar a mierka. A nič z toho nie je prifúknuté. Tri zo štyroch platforiem, popísané na rovinu:

Facility · údržba

Platforma údržby pre priemyselné parky

CMMS pre prenajímateľa, ktorý prevádzkuje 87 priemyselných a logistických parkov s 800 nájomníckymi organizáciami. Osem používateľských rolí na oboch stranách vzťahu prenajímateľ–nájomca — administrátori, správcovia, technici, externí dodávatelia, nájomcovia — pričom rola riadi prístup k modulom aj k jednotlivým poliam. Jedenásť modulov: tikety, dispečing, záruky, plánované udalosti, hromadný import z Excelu a mapový workflow prístupu na strechy, kde ručne nakreslené zóny napájajú záruky aj časovo obmedzené vstupy dodávateľov.

Ťažké časti: Tabuľka tiketov so 14 stĺpcami, ktoré si používateľ sám preusporiada, nad skutočne serverovým stránkovaním a filtrovaním; šesťstavový životný cyklus tiketu s SLA termínmi dopočítanými z priority; kaskádové výbery lokality, ktoré musia správne zneplatniť nadväzujúce voľby; auditný záznam po jednotlivých poliach vykreslený ako čitateľný diff; a obojsmerná synchronizácia s externou facility platformou — mapovanie dvoch stavových automatov, kde „neposielať“ je platná hodnota.

  • React
  • TypeScript
  • Vite
  • Emotion
  • MapLibre GL
  • 87priemyselných parkov
  • 800nájomníckych organizácií
  • 8používateľských rolí
  • 14stĺpcov v tabuľke tiketov
  • 6stavov tiketu

B2B · vernosť a objednávky

Partnerský portál pre B2B distribútora

CRM, vernostný systém a objednávkový portál v jednom, pre distribútora poľnohospodárskych vstupov. Sedemnásť typov API zdrojov naprieč vyše dvadsiatimi obrazovkami: zákaznícke záznamy a viackrokový onboarding, schvaľovanie faktúr napojené na bodový program, čerpanie voucherov a objednávky v mene zákazníkov — všetko nad odstupňovanými, dohodnutými cenami.

Ťažké časti: Tri paralelné cenníky pri každom produkte, kde je pomer bodov a zľavy sám o sebe verziovaný v datovaných obdobiach platnosti — tá istá faktúra sa počíta inak podľa toho, kedy bola vystavená; engine zľavových pravidiel (množstvové aj obratové prahy), ktorý sa s tým cenníkom musí skladať bez dvojitého uplatnenia; a tabuľky plne riadené serverom — 12-stĺpcový pohľad na faktúry stránkuje, triedi a filtruje cez API, nie v prehliadači.

  • React
  • TypeScript
  • TanStack Query
  • React Hook Form
  • Zod
  • Tailwind
  • Radix UI
  • 17typov API zdrojov
  • 20+samostatných obrazoviek
  • 3cenové úrovne
  • 12stĺpcov najväčšej tabuľky
  • 5stavov objednávky

E-commerce · prevádzka

E-shop s back officeom v štýle malého ERP

Jeden Next.js codebase pre dve publiká na jednej auth session: verejný obchod a interná konzola za ním — objednávky, produkty a ceny, zákazníci s vernostným programom, správa personálu, newsletter. Master–detail tabuľky naprieč celým adminom; trojkrokový checkout napojený na kartovú bránu a boxového dopravcu.

Ťažké časti: Storefront, ktorý musí byť bezpečný pre anonymných návštevníkov, a admin, ktorý musí byť naozaj chránený — na tej istej session, s rolovým UI až po vypnuté tlačidlo nákupu pre admin účet, bez bliknutia nesprávneho stavu; model objednávky, ktorý zmieruje duálne ceny s DPH aj bez, vernostné zľavy a ručné zmeny stavu so zmenami prichádzajúcimi od platobnej brány a dopravcu; a opakovateľný editor variantov so živo dopočítanou cenou s DPH.

  • Next.js
  • TypeScript
  • Tailwind
  • Sentry
  • Headless CMS
  • 2publiká, jedna session
  • 4master–detail pohľady
  • 8typov formulárov
  • 3kroky checkoutu
Dôkaz naživo

Screenshoty nemám. Tu je funkčný výsek.

Malá fiktívna tímová konzola postavená na rovnakom stacku, aký používam v produkcii — TanStack Table, React Hook Form, Zod. Zotrieďte, vyfiltrujte, prepnite rolu, upravte riadok: každodenná mechanika back officeu v mierke 1 : 100.

Fiktívne dáta, skutočný kód — žije v repozitári tejto stránky na GitHube.

Verejná práca

Popri tom

Nie všetko je zamknuté za NDA. Stránky, na ktoré sa dá kliknúť:

Stránka pre deratizačnú firmu — Next.js s blogom cez CMS, od návrhov po produkciu sólo.

  • Next.js
  • TypeScript
  • Tailwind
  • CMS

Viacjazyčná stránka pre výrobcu hnojív — postavená sólo, vrátane i18n.

  • Next.js
  • TypeScript
  • i18n
  • Tailwind

React frontend pre firmu na priemyselné riadiace systémy — rozsiahle technické portfólio zrozumiteľné aj pre neinžinierov.

  • React
  • TypeScript
  • Vite
Prístup

Ako pracujem

V skratke

Čistý kód. Žiadny balast.

Najprv plánujem, potom staviam. Asi viac, než je zdravé — viem stráviť hodiny rozhodovaním, čo presne má daná vec byť, ešte predtým, než napíšem jediný riadok. Znie to zdĺhavo. Znamená to, že málokedy musím prácu zahodiť.

Nie som vývojár, čo vymýšľa už vymyslené. Keď existuje dobrá knižnica, použijem ju. Keď neexistuje, napíšem to poriadne a nenechám za sebou neporiadok. Čistý kód, žiadny balast, nič, čo tam je len naoko.

Na čo sa dá naozaj spoľahnúť: dokončím, čo začnem. Termíny držím. Keď sa niečo pokazí, nerobím drámu — proste to opravím. Stále sa zlepšujem a viem o tom. Ale tie veci, na ktorých v tíme záleží — že prídem, že odovzdám, že sa so mnou dá vyjsť — o tie strach mať nemusíte.

Každodenný stack

  • React
  • TypeScript
  • Next.js
  • Tailwind
  • TanStack Query
  • TanStack Table
  • React Hook Form + Zod
  • Playwright
  • Vite

Práve si dopĺňam druhú stranu: Node, Express, PostgreSQL — toľko backendu, aby som API vyšiel v ústrety.

O mne

Mimo práce

Žijem v Prahe, pôvodom som z Bratislavy.

Mám rád jednu teplú lampu v rohu a žiadne svetlo zhora — čo je, ako sa ukázalo, aj spôsob, akým navrhujem.

To je celé. Nič okázalé. Ak ste dočítali až sem, asi už viete, či by sme si sadli.

Celá tá myšlienka

Jedna lampa v rohu. Žiadne svetlo zhora.

Kontakt

Ozvite sa

Som otvorený frontend rolám — Praha alebo remote. A ak máte admin, ktorý nechce vlastniť nikto z tímu, píšte určite.