[{"data":1,"prerenderedAt":234},["ShallowReactive",2],{"case-uk-domodessa":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":38,"path":65,"result":66,"role":67,"seo":68,"slug":69,"stack":70,"stem":69,"summary":76,"timeline":77,"url":78,"__hash__":79},"cases_uk\u002Fdomodessa.md","Платформа нерухомості — domodessa.com",{"top":7,"core":10,"bottom":13},[8,9],"domodessa.com · Nuxt 4 SSR","Quasar admin",{"title":11,"sub":12},"Express API","оголошення · блог · адмінка",[14,15,16],"MariaDB","Docker","CI\u002FCD",{"type":18,"value":19,"toc":36},"minimark",[20,25,29,33],[21,22,24],"h2",{"id":23},"проблема","Проблема",[26,27,28],"p",{},"Бізнесу з нерухомості потрібна була робоча платформа швидко, а не довгий проєкт.",[21,30,32],{"id":31},"підхід","Підхід",[26,34,35],{},"Nuxt 4 з SSR на фронтенді, API на Express, адмінка на Quasar, MariaDB і Docker із CI\u002FCD — зроблено одним розробником.",{"title":37,"searchDepth":38,"depth":38,"links":39},"",2,[40,41],{"id":23,"depth":38,"text":24},{"id":31,"depth":38,"text":32},"нерухомість","\u002Fwork\u002Fdomodessa.webp",[45,48,51],{"title":46,"text":47},"Спершу ядро","Відповідав за всю розробку й вивів продукт у продакшн приблизно за два тижні.",{"title":49,"text":50},"Архітектура блогу й стилів","Побудував блог і архітектуру стилів фронтенду, щоб нові сторінки лишалися узгодженими.",{"title":52,"text":53},"Стабільно в кожному середовищі","Розв’язав проблеми з мережею Docker, SSR і гідрацією, щоб локально й у продакшні все працювало однаково.","md",true,"c51e8aa",{},[59,62],{"value":60,"label":61},"~2 тиж.","з нуля до продакшну",{"value":63,"label":64},"10","об’єктів","\u002Fdomodessa","→ з нуля до продакшну за ~2 тижні · 10 об’єктів","Самостійний full-stack розробник",{"title":5,"description":37},"domodessa",[71,72,73,74,75],"nuxt 4","express","quasar","mariadb","docker","З нуля до робочого продукту в продакшні приблизно за два тижні — від початку до кінця.","~2 тижні до продакшну","domodessa.com","9Nv9bGcpcbb_cjklqAGkIiUB7B8kAxYStZSXqGvqIPs",[81,141,170],{"id":82,"title":83,"architecture":84,"body":93,"category":109,"cover":110,"decisions":111,"description":37,"extension":54,"featured":55,"hash":121,"meta":122,"metrics":123,"navigation":55,"order":130,"path":131,"result":132,"role":133,"seo":134,"slug":135,"stack":136,"stem":135,"summary":138,"timeline":139,"url":86,"__hash__":140},"cases_uk\u002Fthailand-rental.md","Платформа оренди авто, Таїланд",{"top":85,"core":89,"bottom":92},[86,87,88],"thailandrentalcars.com","phuketcarrentals.com","Quasar admin (PWA)",{"title":90,"sub":91},"Спільне ядро бронювань","Node.js (Express) · рушій бронювань · API",[14,15],{"type":18,"value":94,"toc":105},[95,97,100,102],[21,96,24],{"id":23},[26,98,99],{},"Двом брендам оренди (thailandrentalcars.com і phuketcarrentals.com) потрібна була одна надійна система бронювань — без форку коду під кожне нове місто.",[21,101,32],{"id":31},[26,103,104],{},"Multi-site архітектура: один бекенд на Node.js (Express), адмінка на Quasar (PWA) і дві вітрини на Nuxt 4, усе в Docker — з транзакційним флоу бронювання й оплати та SEO, закладеним з першого дня.",{"title":37,"searchDepth":38,"depth":38,"links":106},[107,108],{"id":23,"depth":38,"text":24},{"id":31,"depth":38,"text":32},"подорожі \u002F оренда","\u002Fwork\u002Fthailand-rental.webp",[112,115,118],{"title":113,"text":114},"Один бекенд, багато вітрин","Спільний бекенд і адмінка обслуговують два незалежні фронтенди на Nuxt 4, тож нове місто не потребує копіювати ядро.",{"title":116,"text":117},"Транзакційне бронювання й оплата","Авторизація, підтвердження власником і списання оплати в одному флоу, з ідемпотентністю й захистом від подвійного бронювання.",{"title":119,"text":120},"SEO як частина інженерії","Відповідаю за SEO й стратегію запуску разом із продуктом і веду контент-менеджера.","a3f9c21",{},[124,127],{"value":125,"label":126},"2 → 1","фронтенди на одному бекенді",{"value":128,"label":129},"5","бронювань",1,"\u002Fthailand-rental","→ 2 сайти · 1 бекенд · 5 бронювань","Архітектура · full-stack · SEO",{"title":83,"description":37},"thailand-rental",[71,72,74,137,75],"quasar pwa","Два бренди на одному рушії бронювань і адмінці — нове місто це конфігурація, а не новий проєкт.","в роботі","n3HJHUd8GtOBreoc3OMWvvwlqAo6Vp2PocN_cjPvMB0",{"id":4,"title":5,"architecture":142,"body":146,"category":42,"cover":43,"decisions":160,"description":37,"extension":54,"featured":55,"hash":56,"meta":164,"metrics":165,"navigation":55,"order":38,"path":65,"result":66,"role":67,"seo":168,"slug":69,"stack":169,"stem":69,"summary":76,"timeline":77,"url":78,"__hash__":79},{"top":143,"core":144,"bottom":145},[8,9],{"title":11,"sub":12},[14,15,16],{"type":18,"value":147,"toc":156},[148,150,152,154],[21,149,24],{"id":23},[26,151,28],{},[21,153,32],{"id":31},[26,155,35],{},{"title":37,"searchDepth":38,"depth":38,"links":157},[158,159],{"id":23,"depth":38,"text":24},{"id":31,"depth":38,"text":32},[161,162,163],{"title":46,"text":47},{"title":49,"text":50},{"title":52,"text":53},{},[166,167],{"value":60,"label":61},{"value":63,"label":64},{"title":5,"description":37},[71,72,73,74,75],{"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 · сповіщення",[14,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":63,"label":219},"клієнтів",3,"\u002Fpsylife","→ UA\u002FRU · 10 клієнтів · PWA-адмінка","Власник · full-stack",{"title":172,"description":37},"psylife",[71,227,74,228,229],"nestjs","bullmq","pwa","Мультимовна (UA\u002FRU) платформа з блогом\u002FCMS, бронюванням консультацій і сповіщеннями в реальному часі — від початку до кінця.","2026 · на підтримці","psylife.me","bqmLM3AkmLohlG5YBp5vAnOckCdipZTZ12oKvrSDiaE",1792428737326]