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