[{"data":1,"prerenderedAt":234},["ShallowReactive",2],{"case-uk-thailand-rental":3,"cases-uk-all":80},{"id":4,"title":5,"architecture":6,"body":17,"category":42,"cover":43,"decisions":44,"description":37,"extension":54,"featured":55,"hash":56,"meta":57,"metrics":58,"navigation":55,"order":65,"path":66,"result":67,"role":68,"seo":69,"slug":70,"stack":71,"stem":70,"summary":77,"timeline":78,"url":8,"__hash__":79},"cases_uk\u002Fthailand-rental.md","Платформа оренди авто, Таїланд",{"top":7,"core":11,"bottom":14},[8,9,10],"thailandrentalcars.com","phuketcarrentals.com","Quasar admin (PWA)",{"title":12,"sub":13},"Спільне ядро бронювань","Node.js (Express) · рушій бронювань · API",[15,16],"MariaDB","Docker",{"type":18,"value":19,"toc":36},"minimark",[20,25,29,33],[21,22,24],"h2",{"id":23},"проблема","Проблема",[26,27,28],"p",{},"Двом брендам оренди (thailandrentalcars.com і phuketcarrentals.com) потрібна була одна надійна система бронювань — без форку коду під кожне нове місто.",[21,30,32],{"id":31},"підхід","Підхід",[26,34,35],{},"Multi-site архітектура: один бекенд на Node.js (Express), адмінка на Quasar (PWA) і дві вітрини на Nuxt 4, усе в Docker — з транзакційним флоу бронювання й оплати та SEO, закладеним з першого дня.",{"title":37,"searchDepth":38,"depth":38,"links":39},"",2,[40,41],{"id":23,"depth":38,"text":24},{"id":31,"depth":38,"text":32},"подорожі \u002F оренда","\u002Fwork\u002Fthailand-rental.webp",[45,48,51],{"title":46,"text":47},"Один бекенд, багато вітрин","Спільний бекенд і адмінка обслуговують два незалежні фронтенди на Nuxt 4, тож нове місто не потребує копіювати ядро.",{"title":49,"text":50},"Транзакційне бронювання й оплата","Авторизація, підтвердження власником і списання оплати в одному флоу, з ідемпотентністю й захистом від подвійного бронювання.",{"title":52,"text":53},"SEO як частина інженерії","Відповідаю за SEO й стратегію запуску разом із продуктом і веду контент-менеджера.","md",true,"a3f9c21",{},[59,62],{"value":60,"label":61},"2 → 1","фронтенди на одному бекенді",{"value":63,"label":64},"5","бронювань",1,"\u002Fthailand-rental","→ 2 сайти · 1 бекенд · 5 бронювань","Архітектура · full-stack · SEO",{"title":5,"description":37},"thailand-rental",[72,73,74,75,76],"nuxt 4","express","mariadb","quasar pwa","docker","Два бренди на одному рушії бронювань і адмінці — нове місто це конфігурація, а не новий проєкт.","в роботі","n3HJHUd8GtOBreoc3OMWvvwlqAo6Vp2PocN_cjPvMB0",[81,110,170],{"id":4,"title":5,"architecture":82,"body":86,"category":42,"cover":43,"decisions":100,"description":37,"extension":54,"featured":55,"hash":56,"meta":104,"metrics":105,"navigation":55,"order":65,"path":66,"result":67,"role":68,"seo":108,"slug":70,"stack":109,"stem":70,"summary":77,"timeline":78,"url":8,"__hash__":79},{"top":83,"core":84,"bottom":85},[8,9,10],{"title":12,"sub":13},[15,16],{"type":18,"value":87,"toc":96},[88,90,92,94],[21,89,24],{"id":23},[26,91,28],{},[21,93,32],{"id":31},[26,95,35],{},{"title":37,"searchDepth":38,"depth":38,"links":97},[98,99],{"id":23,"depth":38,"text":24},{"id":31,"depth":38,"text":32},[101,102,103],{"title":46,"text":47},{"title":49,"text":50},{"title":52,"text":53},{},[106,107],{"value":60,"label":61},{"value":63,"label":64},{"title":5,"description":37},[72,73,74,75,76],{"id":111,"title":112,"architecture":113,"body":122,"category":138,"cover":139,"decisions":140,"description":37,"extension":54,"featured":55,"hash":150,"meta":151,"metrics":152,"navigation":55,"order":38,"path":159,"result":160,"role":161,"seo":162,"slug":163,"stack":164,"stem":163,"summary":166,"timeline":167,"url":168,"__hash__":169},"cases_uk\u002Fdomodessa.md","Платформа нерухомості — domodessa.com",{"top":114,"core":117,"bottom":120},[115,116],"domodessa.com · Nuxt 4 SSR","Quasar admin",{"title":118,"sub":119},"Express API","оголошення · блог · адмінка",[15,16,121],"CI\u002FCD",{"type":18,"value":123,"toc":134},[124,126,129,131],[21,125,24],{"id":23},[26,127,128],{},"Бізнесу з нерухомості потрібна була робоча платформа швидко, а не довгий проєкт.",[21,130,32],{"id":31},[26,132,133],{},"Nuxt 4 з SSR на фронтенді, API на Express, адмінка на Quasar, MariaDB і Docker із CI\u002FCD — зроблено одним розробником.",{"title":37,"searchDepth":38,"depth":38,"links":135},[136,137],{"id":23,"depth":38,"text":24},{"id":31,"depth":38,"text":32},"нерухомість","\u002Fwork\u002Fdomodessa.webp",[141,144,147],{"title":142,"text":143},"Спершу ядро","Відповідав за всю розробку й вивів продукт у продакшн приблизно за два тижні.",{"title":145,"text":146},"Архітектура блогу й стилів","Побудував блог і архітектуру стилів фронтенду, щоб нові сторінки лишалися узгодженими.",{"title":148,"text":149},"Стабільно в кожному середовищі","Розв’язав проблеми з мережею Docker, SSR і гідрацією, щоб локально й у продакшні все працювало однаково.","c51e8aa",{},[153,156],{"value":154,"label":155},"~2 тиж.","з нуля до продакшну",{"value":157,"label":158},"10","об’єктів","\u002Fdomodessa","→ з нуля до продакшну за ~2 тижні · 10 об’єктів","Самостійний full-stack розробник",{"title":112,"description":37},"domodessa",[72,73,165,74,76],"quasar","З нуля до робочого продукту в продакшні приблизно за два тижні — від початку до кінця.","~2 тижні до продакшну","domodessa.com","9Nv9bGcpcbb_cjklqAGkIiUB7B8kAxYStZSXqGvqIPs",{"id":171,"title":172,"architecture":173,"body":184,"category":200,"cover":201,"decisions":202,"description":37,"extension":54,"featured":55,"hash":212,"meta":213,"metrics":214,"navigation":55,"order":220,"path":221,"result":222,"role":223,"seo":224,"slug":225,"stack":226,"stem":225,"summary":230,"timeline":231,"url":232,"__hash__":233},"cases_uk\u002Fpsylife.md","PsyLife.me — платформа практики",{"top":174,"core":178,"bottom":181},[175,176,177],"psylife.me · Nuxt 4","blog \u002F CMS","PWA admin",{"title":179,"sub":180},"NestJS API","бронювання · CMS · сповіщення",[15,182,183],"Redis · BullMQ","web push",{"type":18,"value":185,"toc":196},[186,188,191,193],[21,187,24],{"id":23},[26,189,190],{},"Психологічній практиці потрібне було одне місце для контенту, бронювання консультацій і сповіщень клієнтам, двома мовами.",[21,192,32],{"id":31},[26,194,195],{},"Фронтенд на Nuxt 4 поверх API на NestJS з MariaDB, фоновими задачами Redis\u002FBullMQ і web push — від архітектури до продакшн-деплою.",{"title":37,"searchDepth":38,"depth":38,"links":197},[198,199],{"id":23,"depth":38,"text":24},{"id":31,"depth":38,"text":32},"здоров’я \u002F платформа","\u002Fwork\u002Fpsylife.webp",[203,206,209],{"title":204,"text":205},"Фонові задачі в черзі","Redis і BullMQ виконують фонову роботу поза циклом запиту.",{"title":207,"text":208},"Сповіщення в реальному часі","Web push повідомляє клієнтів про бронювання.",{"title":210,"text":211},"Контент у тому ж продукті","Інтегрований блог\u002FCMS і бронювання консультацій в одній платформі.","0d2f6b3",{},[215,218],{"value":216,"label":217},"UA\u002FRU","мультимовна",{"value":157,"label":219},"клієнтів",3,"\u002Fpsylife","→ UA\u002FRU · 10 клієнтів · PWA-адмінка","Власник · full-stack",{"title":172,"description":37},"psylife",[72,227,74,228,229],"nestjs","bullmq","pwa","Мультимовна (UA\u002FRU) платформа з блогом\u002FCMS, бронюванням консультацій і сповіщеннями в реальному часі — від початку до кінця.","2026 · на підтримці","psylife.me","bqmLM3AkmLohlG5YBp5vAnOckCdipZTZ12oKvrSDiaE",1792428737745]