[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-pl-digispace":3,"technology-slugs-pl":54,"mdc-gbiejq-key":78},{"id":4,"title":5,"content":6,"date":7,"description":8,"extension":9,"featured":10,"image":11,"links":12,"meta":23,"stack":24,"stem":49,"tags":50,"url":15,"__hash__":53},"projects_pl\u002Fpl\u002Fprojects\u002Fdigispace.yml","DigiSpace","Produkcyjna strona digispace.pro — publiczny serwis agencji, panel administracyjny i autorski CMS w jednej aplikacji Laravel, teraz w pełni wielojęzyczna (EN\u002FUK\u002FPL), z panelem Filament obok starego panelu na Inertia + Vue. Ten sam kod, który obsługuje żywą stronę, jest dostępny na GitHub.\n\n## Kluczowe funkcje\n\n- **Panel administracyjny Filament** - równoległy panel `\u002Fcontrol` (24 zasoby) z edytorem TipTap, przesyłaniem obrazów bezpośrednio do MinIO i nawigacją zorientowaną na treść, wdrażany zasób po zasobie obok istniejącego panelu Inertia\n- **Wielojęzyczność od podstaw** - tłumaczone są nie tylko strony, ale i strukturalne teksty UI (menu, stopka, przyciski) dla każdej lokalizacji, z routingiem opartym na hreflang\n- **SEO wbudowane** - dane strukturalne JSON-LD, zlokalizowane sitemapy i poprawna obsługa 404 dla każdej lokalizacji\n- **Monolit zrobiony dobrze** - publiczna strona i oba panele administracyjne w jednej aplikacji Laravel, bez osobnego API\n- **Treść pod kontrolą** - strony, usługi i portfolio edytuje się w CMS — bez deploymentu dla zmiany tekstu czy tłumaczenia\n- **Bramy jakości** - testy PHPUnit i analiza statyczna PHPStan w CI\n- **Otwarty kod** - dokładnie ten kod, który obsługuje digispace.pro, jest publiczny na GitHub\n\n## Stos technologiczny\n\n- **Backend**: Laravel\n- **Panel admina**: Filament 5 (`\u002Fcontrol`) + stary panel na Inertia.js + Vue\n- **Frontend**: Vue.js, Vite\n- **Lokalizacja**: tłumaczenia treści i struktury EN\u002FUK\u002FPL\n- **Architektura**: Niestandardowy CMS\n","2022-10-05","Wielojęzyczna (EN\u002FUK\u002FPL) produkcyjna strona agencji z autorskim CMS — panel Filament z rozbudowanym edytorem treści, tłumaczenia, JSON-LD i zlokalizowane sitemapy wbudowane obok starego panelu na Inertia + Vue","yml",true,"\u002Fhero\u002Fdigispace.avif",[13,18],{"label":14,"to":15,"color":16,"icon":17},"Live Demo","https:\u002F\u002Fdigispace.pro","primary","i-heroicons-arrow-top-right-on-square",{"label":19,"to":20,"color":21,"icon":22},"GitHub","https:\u002F\u002Fgithub.com\u002FYurij2015\u002FDigiSpace","neutral","i-simple-icons-github",{},[25,28,31,34,37,40,43,46],{"name":26,"icon":27},"Laravel","i-simple-icons-laravel",{"name":29,"icon":30},"Inertia","i-simple-icons-inertia",{"name":32,"icon":33},"Vue","i-simple-icons-vuedotjs",{"name":35,"icon":36},"Vite","i-simple-icons-vite",{"name":38,"icon":39},"MySQL","i-simple-icons-mysql",{"name":41,"icon":42},"Tailwind CSS","i-simple-icons-tailwindcss",{"name":44,"icon":45},"Filament","i-simple-icons-filament",{"name":47,"icon":48},"CMS","i-heroicons-document-text","pl\u002Fprojects\u002Fdigispace",[26,44,29,32,51,52],"i18n","SEO","Fk6DSrh4wV9UrvlIWm6anLNeGfF5gl4G-jy8qzYVLUM",[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77],"caddy","cloudflare","digitalocean","docker","filament","github-actions","go","hetzner","hostinger","laravel","mysql","nuxt","php","postgresql","proxmox","redis","stripe","symfony","tailwindcss","terraform","typescript","vite","vue",{"data":79,"body":80},{},{"type":81,"children":82},"root",[83,91,98,183,189],{"type":84,"tag":85,"props":86,"children":87},"element","p",{},[88],{"type":89,"value":90},"text","Produkcyjna strona digispace.pro — publiczny serwis agencji, panel administracyjny i autorski CMS w jednej aplikacji Laravel, teraz w pełni wielojęzyczna (EN\u002FUK\u002FPL), z panelem Filament obok starego panelu na Inertia + Vue. Ten sam kod, który obsługuje żywą stronę, jest dostępny na GitHub.",{"type":84,"tag":92,"props":93,"children":95},"h2",{"id":94},"kluczowe-funkcje",[96],{"type":89,"value":97},"Kluczowe funkcje",{"type":84,"tag":99,"props":100,"children":101},"ul",{},[102,123,133,143,153,163,173],{"type":84,"tag":103,"props":104,"children":105},"li",{},[106,112,114,121],{"type":84,"tag":107,"props":108,"children":109},"strong",{},[110],{"type":89,"value":111},"Panel administracyjny Filament",{"type":89,"value":113}," - równoległy panel ",{"type":84,"tag":115,"props":116,"children":118},"code",{"className":117},[],[119],{"type":89,"value":120},"\u002Fcontrol",{"type":89,"value":122}," (24 zasoby) z edytorem TipTap, przesyłaniem obrazów bezpośrednio do MinIO i nawigacją zorientowaną na treść, wdrażany zasób po zasobie obok istniejącego panelu Inertia",{"type":84,"tag":103,"props":124,"children":125},{},[126,131],{"type":84,"tag":107,"props":127,"children":128},{},[129],{"type":89,"value":130},"Wielojęzyczność od podstaw",{"type":89,"value":132}," - tłumaczone są nie tylko strony, ale i strukturalne teksty UI (menu, stopka, przyciski) dla każdej lokalizacji, z routingiem opartym na hreflang",{"type":84,"tag":103,"props":134,"children":135},{},[136,141],{"type":84,"tag":107,"props":137,"children":138},{},[139],{"type":89,"value":140},"SEO wbudowane",{"type":89,"value":142}," - dane strukturalne JSON-LD, zlokalizowane sitemapy i poprawna obsługa 404 dla każdej lokalizacji",{"type":84,"tag":103,"props":144,"children":145},{},[146,151],{"type":84,"tag":107,"props":147,"children":148},{},[149],{"type":89,"value":150},"Monolit zrobiony dobrze",{"type":89,"value":152}," - publiczna strona i oba panele administracyjne w jednej aplikacji Laravel, bez osobnego API",{"type":84,"tag":103,"props":154,"children":155},{},[156,161],{"type":84,"tag":107,"props":157,"children":158},{},[159],{"type":89,"value":160},"Treść pod kontrolą",{"type":89,"value":162}," - strony, usługi i portfolio edytuje się w CMS — bez deploymentu dla zmiany tekstu czy tłumaczenia",{"type":84,"tag":103,"props":164,"children":165},{},[166,171],{"type":84,"tag":107,"props":167,"children":168},{},[169],{"type":89,"value":170},"Bramy jakości",{"type":89,"value":172}," - testy PHPUnit i analiza statyczna PHPStan w CI",{"type":84,"tag":103,"props":174,"children":175},{},[176,181],{"type":84,"tag":107,"props":177,"children":178},{},[179],{"type":89,"value":180},"Otwarty kod",{"type":89,"value":182}," - dokładnie ten kod, który obsługuje digispace.pro, jest publiczny na GitHub",{"type":84,"tag":92,"props":184,"children":186},{"id":185},"stos-technologiczny",[187],{"type":89,"value":188},"Stos technologiczny",{"type":84,"tag":99,"props":190,"children":191},{},[192,202,219,229,239],{"type":84,"tag":103,"props":193,"children":194},{},[195,200],{"type":84,"tag":107,"props":196,"children":197},{},[198],{"type":89,"value":199},"Backend",{"type":89,"value":201},": Laravel",{"type":84,"tag":103,"props":203,"children":204},{},[205,210,212,217],{"type":84,"tag":107,"props":206,"children":207},{},[208],{"type":89,"value":209},"Panel admina",{"type":89,"value":211},": Filament 5 (",{"type":84,"tag":115,"props":213,"children":215},{"className":214},[],[216],{"type":89,"value":120},{"type":89,"value":218},") + stary panel na Inertia.js + Vue",{"type":84,"tag":103,"props":220,"children":221},{},[222,227],{"type":84,"tag":107,"props":223,"children":224},{},[225],{"type":89,"value":226},"Frontend",{"type":89,"value":228},": Vue.js, Vite",{"type":84,"tag":103,"props":230,"children":231},{},[232,237],{"type":84,"tag":107,"props":233,"children":234},{},[235],{"type":89,"value":236},"Lokalizacja",{"type":89,"value":238},": tłumaczenia treści i struktury EN\u002FUK\u002FPL",{"type":84,"tag":103,"props":240,"children":241},{},[242,247],{"type":84,"tag":107,"props":243,"children":244},{},[245],{"type":89,"value":246},"Architektura",{"type":89,"value":248},": Niestandardowy CMS"]