[{"data":1,"prerenderedAt":205},["ShallowReactive",2],{"cases-pl-all":3},[4,81,141],{"id":5,"title":6,"architecture":7,"body":18,"category":43,"cover":44,"decisions":45,"description":38,"extension":55,"featured":56,"hash":57,"meta":58,"metrics":59,"navigation":56,"order":66,"path":67,"result":68,"role":69,"seo":70,"slug":71,"stack":72,"stem":71,"summary":78,"timeline":79,"url":9,"__hash__":80},"cases_pl\u002Fthailand-rental.md","Platforma wynajmu aut, Tajlandia",{"top":8,"core":12,"bottom":15},[9,10,11],"thailandrentalcars.com","phuketcarrentals.com","Quasar admin (PWA)",{"title":13,"sub":14},"Wspólny rdzeń rezerwacji","Node.js (Express) · silnik rezerwacji · API",[16,17],"MariaDB","Docker",{"type":19,"value":20,"toc":37},"minimark",[21,26,30,34],[22,23,25],"h2",{"id":24},"problem","Problem",[27,28,29],"p",{},"Dwie marki wynajmu (thailandrentalcars.com i phuketcarrentals.com) potrzebowały jednego niezawodnego systemu rezerwacji — bez kopiowania kodu dla każdego miasta.",[22,31,33],{"id":32},"podejście","Podejście",[27,35,36],{},"Architektura multi-site: jeden backend Node.js (Express), panel Quasar (PWA) i dwie witryny Nuxt 4, wszystko w Dockerze — z transakcyjnym procesem rezerwacji i płatności oraz SEO zaplanowanym od pierwszego dnia.",{"title":38,"searchDepth":39,"depth":39,"links":40},"",2,[41,42],{"id":24,"depth":39,"text":25},{"id":32,"depth":39,"text":33},"podróże \u002F wynajem","\u002Fwork\u002Fthailand-rental.webp",[46,49,52],{"title":47,"text":48},"Jeden backend, wiele witryn","Wspólny backend i panel obsługują dwa niezależne frontendy Nuxt 4, więc nowe miasto nie wymaga kopiowania rdzenia.",{"title":50,"text":51},"Transakcyjna rezerwacja i płatność","Autoryzacja, potwierdzenie właściciela i pobranie płatności w jednym procesie, z idempotencją i ochroną przed podwójną rezerwacją.",{"title":53,"text":54},"SEO jako część inżynierii","Odpowiadam za SEO i strategię startu razem z produktem i prowadzę content managera.","md",true,"a3f9c21",{},[60,63],{"value":61,"label":62},"2 → 1","frontendy na jednym backendzie",{"value":64,"label":65},"5","rezerwacji",1,"\u002Fthailand-rental","→ 2 strony · 1 backend · 5 rezerwacji","Architektura · full-stack · SEO",{"title":6,"description":38},"thailand-rental",[73,74,75,76,77],"nuxt 4","express","mariadb","quasar pwa","docker","Dwie marki na jednym silniku rezerwacji i panelu — nowe miasto to konfiguracja, a nie nowy projekt.","w trakcie","4KXUHT2Tv1lQgXf78_BcJ31ObZ3DpnMN7f2xWiIyX0Y",{"id":82,"title":83,"architecture":84,"body":93,"category":109,"cover":110,"decisions":111,"description":38,"extension":55,"featured":56,"hash":121,"meta":122,"metrics":123,"navigation":56,"order":39,"path":130,"result":131,"role":132,"seo":133,"slug":134,"stack":135,"stem":134,"summary":137,"timeline":138,"url":139,"__hash__":140},"cases_pl\u002Fdomodessa.md","Platforma nieruchomości — domodessa.com",{"top":85,"core":88,"bottom":91},[86,87],"domodessa.com · Nuxt 4 SSR","Quasar admin",{"title":89,"sub":90},"Express API","ogłoszenia · blog · panel",[16,17,92],"CI\u002FCD",{"type":19,"value":94,"toc":105},[95,97,100,102],[22,96,25],{"id":24},[27,98,99],{},"Firma z branży nieruchomości potrzebowała działającej platformy szybko, a nie długiego projektu.",[22,101,33],{"id":32},[27,103,104],{},"Nuxt 4 z SSR na froncie, API w Express, panel w Quasar, MariaDB i Docker z CI\u002FCD — dostarczone przez jednego developera.",{"title":38,"searchDepth":39,"depth":39,"links":106},[107,108],{"id":24,"depth":39,"text":25},{"id":32,"depth":39,"text":33},"nieruchomości","\u002Fwork\u002Fdomodessa.webp",[112,115,118],{"title":113,"text":114},"Najpierw rdzeń","Odpowiadałem za całość i wdrożyłem produkt na produkcję w około dwa tygodnie.",{"title":116,"text":117},"Architektura bloga i stylów","Zbudowałem blog i architekturę stylów frontendu, żeby nowe strony były spójne.",{"title":119,"text":120},"Stabilnie w każdym środowisku","Rozwiązałem problemy z siecią Dockera, SSR i hydracją, by lokalnie i na produkcji działało tak samo.","c51e8aa",{},[124,127],{"value":125,"label":126},"~2 tyg.","od zera do produkcji",{"value":128,"label":129},"10","ofert","\u002Fdomodessa","→ od zera do produkcji w ~2 tygodnie · 10 ofert","Samodzielny full-stack developer",{"title":83,"description":38},"domodessa",[73,74,136,75,77],"quasar","Od zera do działającego produktu na produkcji w około dwa tygodnie — zbudowane od A do Z.","~2 tygodnie do produkcji","domodessa.com","lLWwuQJMqFEWwhDpr8CGKzWbDsH_tCloJZpyL5NUKYU",{"id":142,"title":143,"architecture":144,"body":155,"category":171,"cover":172,"decisions":173,"description":38,"extension":55,"featured":56,"hash":183,"meta":184,"metrics":185,"navigation":56,"order":191,"path":192,"result":193,"role":194,"seo":195,"slug":196,"stack":197,"stem":196,"summary":201,"timeline":202,"url":203,"__hash__":204},"cases_pl\u002Fpsylife.md","PsyLife.me — platforma praktyki",{"top":145,"core":149,"bottom":152},[146,147,148],"psylife.me · Nuxt 4","blog \u002F CMS","PWA admin",{"title":150,"sub":151},"NestJS API","rezerwacje · CMS · powiadomienia",[16,153,154],"Redis · BullMQ","web push",{"type":19,"value":156,"toc":167},[157,159,162,164],[22,158,25],{"id":24},[27,160,161],{},"Praktyka psychologiczna potrzebowała jednego miejsca na treści, rezerwacje konsultacji i powiadomienia, w dwóch językach.",[22,163,33],{"id":32},[27,165,166],{},"Frontend Nuxt 4 na API NestJS z MariaDB, zadaniami w tle Redis\u002FBullMQ i web push — od architektury po wdrożenie.",{"title":38,"searchDepth":39,"depth":39,"links":168},[169,170],{"id":24,"depth":39,"text":25},{"id":32,"depth":39,"text":33},"zdrowie \u002F platforma","\u002Fwork\u002Fpsylife.webp",[174,177,180],{"title":175,"text":176},"Zadania w tle w kolejce","Redis i BullMQ wykonują pracę w tle poza cyklem żądania.",{"title":178,"text":179},"Powiadomienia w czasie rzeczywistym","Web push informuje klientów o rezerwacjach.",{"title":181,"text":182},"Treści w tym samym produkcie","Zintegrowany blog\u002FCMS i rezerwacja konsultacji w jednej platformie.","0d2f6b3",{},[186,189],{"value":187,"label":188},"UA\u002FRU","wielojęzyczna",{"value":128,"label":190},"klientów",3,"\u002Fpsylife","→ UA\u002FRU · 10 klientów · panel PWA","Właściciel · full-stack",{"title":143,"description":38},"psylife",[73,198,75,199,200],"nestjs","bullmq","pwa","Wielojęzyczna (UA\u002FRU) platforma z blogiem\u002FCMS, rezerwacją konsultacji i powiadomieniami w czasie rzeczywistym — od A do Z.","2026 · stałe wsparcie","psylife.me","pprTgREQVl14oKHRcAR1pJAmkMnhpiMLKnsi9higVI8",1792428737326]