[{"data":1,"prerenderedAt":174},["ShallowReactive",2],{"project:sk:restaurovanie-immaculata":3,"portfolio:sk":75},{"id":4,"slug":5,"title":6,"shortDescription":7,"description":8,"role":9,"featured":10,"technologies":11,"media":24,"links":46,"sections":50},"immaculata","restaurovanie-immaculata","Reštaurovanie Immaculata","Viacjazyčný web pre prezentáciu reštaurátorských a umeleckých prác. Verejnú galériu dopĺňa vlastná administrácia obsahu, fotografií a požiadaviek od návštevníkov.","Cieľom bolo prepojiť vizuálnu prezentáciu realizácií s praktickou správou webu. Klient môže upravovať stránky, pridávať práce a fotografie aj spracovať otázky z kontaktného formulára v jednej administrácii.","Frontend, backend, CMS a vlastný hosting — od verejného webu po správu obsahu a nasadenie.",true,[12,15,18,21],{"id":13,"name":14},"nuxt","Nuxt",{"id":16,"name":17},"laravel","Laravel",{"id":19,"name":20},"filament","Filament",{"id":22,"name":23},"docker","Docker",[25,33,40],{"id":26,"src":27,"alt":28,"width":29,"height":30,"srcSet":31,"caption":32},"home","\u002Fimages\u002Fprojects\u002Fimmaculata\u002Fhome.jpg","Úvodná stránka Immaculata s hlavnou fotografiou a úvodom do reštaurátorských služieb",1280,1000,"\u002Fimages\u002Fprojects\u002Fimmaculata\u002Fhome-640.webp 640w, \u002Fimages\u002Fprojects\u002Fimmaculata\u002Fhome-960.webp 960w, \u002Fimages\u002Fprojects\u002Fimmaculata\u002Fhome-1280.webp 1280w","Úvodná stránka verejného webu.",{"id":34,"src":35,"alt":36,"width":29,"height":37,"srcSet":38,"caption":39},"works","\u002Fimages\u002Fprojects\u002Fimmaculata\u002Fworks.jpg","Prehľad reštaurátorských prác s vyhľadávaním a fotografiou realizácie",720,"\u002Fimages\u002Fprojects\u002Fimmaculata\u002Fworks-640.webp 640w, \u002Fimages\u002Fprojects\u002Fimmaculata\u002Fworks-960.webp 960w, \u002Fimages\u002Fprojects\u002Fimmaculata\u002Fworks-1280.webp 1280w","Prehľad realizácií s vyhľadávaním.",{"id":41,"src":42,"alt":43,"width":29,"height":37,"srcSet":44,"caption":45},"detail","\u002Fimages\u002Fprojects\u002Fimmaculata\u002Fdetail.jpg","Detail reštaurátorskej práce s fotografickou galériou","\u002Fimages\u002Fprojects\u002Fimmaculata\u002Fdetail-640.webp 640w, \u002Fimages\u002Fprojects\u002Fimmaculata\u002Fdetail-960.webp 960w, \u002Fimages\u002Fprojects\u002Fimmaculata\u002Fdetail-1280.webp 1280w","Fotografie a detail konkrétnej realizácie.",[47],{"label":48,"url":49},"live","https:\u002F\u002Frestaurovanie-immaculata.sk\u002F",[51,55,59,62,65,68,72],{"type":52,"heading":53,"body":54},"text","Zadanie a prístup","Web má ukázať výsledky reštaurátorskej práce a pomôcť návštevníkovi dostať sa od ukážky realizácie ku kontaktu. Dôraz je na fotografie, prehľadnú navigáciu a lokalizovaný obsah v slovenčine, češtine a angličtine.",{"type":56,"heading":57,"body":58},"feature","Verejný web","Frontend v Nuxt a Vue prezentuje služby, prehľad prác a detaily s fotogalériou. Obsah načítava cez API z backendu. Vyhľadávanie pomáha nájsť realizácie podľa názvu alebo lokality.",{"type":60,"mediaIds":61},"gallery",[34,41],{"type":56,"heading":63,"body":64},"Administrácia a správa fotografií","Backend v Laravel s administráciou Filament tvorí jednoduché CMS. Správa stránok, obsahových sekcií, navigácie, realizácií a lokalizovaných textov je spojená s knižnicou médií a priraďovaním fotografií k obsahu.",{"type":56,"heading":66,"body":67},"Požiadavky z kontaktného formulára","Otázky od návštevníkov sa ukladajú do backendu. V administrácii ich možno spracovať podľa stavu a doplniť interné poznámky, aby komunikácia zostala prehľadná.",{"type":69,"heading":70,"body":71},"technical-details","Vlastný hosting a nasadenie","Aplikácia beží v Docker kontajneroch na našom dedikovanom serveri, ktorý hostí aj ďalšie projekty. Požiadavka prechádza cez Nginx a Traefik do príslušnej aplikácie. Súčasťou realizácie bola príprava vlastného hostingu a nasadenie frontendovej aj backendovej časti.",{"type":52,"heading":73,"body":74},"Výsledok","Jedno riešenie spája prezentáciu prác, každodennú správu obsahu, fotografie a požiadavky od návštevníkov. Oddelený frontend a backend umožňujú rozvíjať verejný web aj administráciu samostatne.",{"projects":76,"experience":162,"technologies":163,"profile":164},[77,141],{"id":78,"slug":78,"title":79,"shortDescription":80,"description":81,"role":82,"featured":10,"technologies":83,"media":107,"links":121,"sections":124},"copystaq","copyStaq","Natívny správca schránky pre macOS s prehľadávateľnou históriou textov a obrázkov, inteligentnými filtrami a rýchlym vkladaním. Súčasťou projektu je produktový web, licenčný backend a distribúcia aktualizácií.","copyStaq pomáha nájsť a znovu použiť skopírovaný obsah bez návratu do pôvodnej aplikácie. Desktopová aplikácia uchováva históriu lokálne; web zabezpečuje prezentáciu produktu, sťahovanie, nákup a správu licencií.","Vývoj macOS aplikácie, produktového webu, backendu, licencií a distribúcie aktualizácií.",[84,87,90,93,96,97,100,103,106],{"id":85,"name":86},"swift","Swift",{"id":88,"name":89},"swiftui","SwiftUI",{"id":91,"name":92},"appkit","AppKit",{"id":94,"name":95},"sqlite","SQLite",{"id":13,"name":14},{"id":98,"name":99},"typescript","TypeScript",{"id":101,"name":102},"postgresql","PostgreSQL",{"id":104,"name":105},"prisma","Prisma",{"id":22,"name":23},[108,114],{"id":109,"src":110,"alt":111,"width":29,"height":37,"srcSet":112,"caption":113},"app","\u002Fimages\u002Fprojects\u002Fcopystaq\u002Fapp.jpg","Aplikácia copyStaq na macOS s históriou schránky, vyhľadávaním, filtrami a tagmi","\u002Fimages\u002Fprojects\u002Fcopystaq\u002Fapp-640.webp 640w, \u002Fimages\u002Fprojects\u002Fcopystaq\u002Fapp-960.webp 960w, \u002Fimages\u002Fprojects\u002Fcopystaq\u002Fapp-1280.webp 1280w","História schránky a filtre v macOS aplikácii — ukážka z verejného produktového dema.",{"id":26,"src":115,"alt":116,"width":117,"height":118,"srcSet":119,"caption":120},"\u002Fimages\u002Fprojects\u002Fcopystaq\u002Fhome.jpg","Produktový web copyStaq s predstavením aplikácie a ukážkou okna Quick Paste",1265,712,"\u002Fimages\u002Fprojects\u002Fcopystaq\u002Fhome-640.webp 640w, \u002Fimages\u002Fprojects\u002Fcopystaq\u002Fhome-960.webp 960w, \u002Fimages\u002Fprojects\u002Fcopystaq\u002Fhome-1265.webp 1265w","Produktový web s predstavením aplikácie a odkazom na stiahnutie.",[122],{"label":48,"url":123},"https:\u002F\u002Fcopystaq.app\u002F",[125,127,130,133,135,138],{"type":52,"heading":53,"body":126},"Prepojiť každodennú prácu so schránkou s nástrojom, ktorý ovládaš klávesnicou. Projekt zahŕňa natívnu macOS aplikáciu aj webové zázemie pre distribúciu a licencie.",{"type":56,"heading":128,"body":129},"História, vyhľadávanie a Quick Paste","Aplikácia uchováva text, RTF a HTML formátovanie aj obrázky. SQLite s fulltextovým indexom podporuje vyhľadávanie; filtre podľa aplikácie, typu, dátumu, tagov či poznámok sa dajú uložiť. Quick Paste otvorí históriu globálnou skratkou a vloží vybraný obsah do aktívnej aplikácie.",{"type":56,"heading":131,"body":132},"Lokálne dáta a natívne rozhranie","SwiftUI a AppKit prepájajú hlavné okno, menu bar a panel Quick Paste. História zostáva na Macu. Pravidlá zachytávania umožňujú vylúčiť vybrané aplikácie a správcov hesiel; dôležité položky možno pripnúť, označiť tagmi a doplniť poznámkou.",{"type":134,"mediaId":26},"image",{"type":56,"heading":136,"body":137},"Produktový web a licenčný backend","Viacjazyčný web v Nuxt, Vue a TypeScript dopĺňa PostgreSQL s Prisma. Integrácia Lemon Squeezy zabezpečuje checkout a licencie; zákaznícky účet používa prihlásenie e-mailovým odkazom cez Resend. Backend spravuje aktivácie a vydáva podpísané licenčné oprávnenia, ktoré aplikácia overuje lokálne.",{"type":69,"heading":139,"body":140},"Distribúcia a aktualizácie","Aplikácia sa distribuuje ako DMG a aktualizácie zabezpečuje Sparkle s Ed25519 podpismi. Publikovanie overuje balík aj appcast a sprístupní aktualizačný feed až po nahratí súborov. Webové zázemie beží v Docker kontajneroch za Nginx a Traefik.",{"id":4,"slug":5,"title":6,"shortDescription":7,"description":8,"role":9,"featured":10,"technologies":142,"media":147,"links":151,"sections":153},[143,144,145,146],{"id":13,"name":14},{"id":16,"name":17},{"id":19,"name":20},{"id":22,"name":23},[148,149,150],{"id":26,"src":27,"alt":28,"width":29,"height":30,"srcSet":31,"caption":32},{"id":34,"src":35,"alt":36,"width":29,"height":37,"srcSet":38,"caption":39},{"id":41,"src":42,"alt":43,"width":29,"height":37,"srcSet":44,"caption":45},[152],{"label":48,"url":49},[154,155,156,158,159,160,161],{"type":52,"heading":53,"body":54},{"type":56,"heading":57,"body":58},{"type":60,"mediaIds":157},[34,41],{"type":56,"heading":63,"body":64},{"type":56,"heading":66,"body":67},{"type":69,"heading":70,"body":71},{"type":52,"heading":73,"body":74},[],[],{"id":165,"displayName":166,"role":167,"introduction":168,"email":169,"links":170},"linko","Linko","Softvérový vývojár","Vyvíjam webové aplikácie od používateľského rozhrania a backendu po nasadenie.","info@link0.eu",[171],{"id":172,"label":172,"url":173},"github","https:\u002F\u002Fgithub.com\u002F4713n",1791122151467]