[{"data":1,"prerenderedAt":92},["ShallowReactive",2],{"work-id-dygoo":3},{"id":4,"title":5,"body":6,"category":62,"date":63,"description":64,"extension":65,"externalUrl":66,"featured":67,"locale":68,"meta":69,"navigation":70,"outcome":71,"path":75,"rank":76,"release":77,"role":78,"screenshot":79,"seo":80,"stack":81,"stem":87,"summary":88,"tier":89,"year":90,"__hash__":91},"projects\u002Fid\u002Fprojects\u002Fdygoo.md","Dygoo",{"type":7,"value":8,"toc":55},"minimark",[9,13,18,21,25,48,52],[10,11,12],"p",{},"Dygoo adalah eksperimen chat realtime yang sengaja dibangun sebagai dua bagian terpisah: frontend Vue statis dan server Node.js mandiri. Ia menjadi tempat bermain untuk bagian web engineering yang tidak hidup dalam siklus permintaan-respons.",[14,15,17],"h2",{"id":16},"fungsinya","Fungsinya",[10,19,20],{},"Frontend adalah aplikasi Nuxt 2 yang dibangun untuk output statis dengan SSR nonaktif — UI chat menyimpan nama pengguna dan ruang di cookie, dengan komponen chat dan ruang terstruktur sebagai komponen Vue. Server pendamping (Express + Socket.IO) melacak ruang dan penggunanya, menyiarkan pesan, serta menangani siklus gabung dan keluar, menjaga pengguna dalam registri in-memory untuk presence.",[14,22,24],{"id":23},"catatan-engineering","Catatan engineering",[26,27,28,36,42],"ul",{},[29,30,31,35],"li",{},[32,33,34],"strong",{},"Frontend dan server dipisah oleh kontrak."," Klien statis; server adalah deployment terpisah. Ruang dan broadcast melewati batas tersebut lewat WebSocket.",[29,37,38,41],{},[32,39,40],{},"Presence adalah state realtime."," Gabung, keluar, dan putus koneksi ditangani eksplisit oleh server, bukan diasumsikan.",[29,43,44,47],{},[32,45,46],{},"State klien berbasis cookie."," UI menyimpan cukup state di sisi klien agar tetap ramah-static.",[14,49,51],{"id":50},"tempat-dalam-perjalanan","Tempat dalam perjalanan",[10,53,54],{},"Eksperimen 2020 yang terhubung dengan minat pada sistem web interaktif — cara berpikir event-driven yang berada di bawah pekerjaan produksi backend asinkron dan berbasis pesan.",{"title":56,"searchDepth":57,"depth":57,"links":58},"",2,[59,60,61],{"id":16,"depth":57,"text":17},{"id":23,"depth":57,"text":24},{"id":50,"depth":57,"text":51},"Realtime · Eksperimen","2026-09-16","Eksperimen chat realtime — frontend statis Nuxt yang dipasangkan dengan server Express\u002FSocket.IO terpisah untuk pesan dan presence berbasis ruang.","md","https:\u002F\u002Fdygoo.netlify.app",false,"id",{},true,[72,73,74],"Frontend Nuxt 2 statis (SSR nonaktif) dengan status nama pengguna dan ruang di cookie yang menggerakkan antarmuka chat.","Server Express\u002FSocket.IO pendamping yang menangani gabung ruang, presence pengguna, siklus gabung\u002Fkeluar, dan broadcast pesan.","Diterapkan sebagai demo live di Netlify.","\u002Fid\u002Fprojects\u002Fdygoo","14","2020","Full-stack Developer","\u002Fimg\u002Fprojects\u002Fdygoo.jpg",{"title":5,"description":64},[82,83,84,85,86],"Nuxt","Vue","Node.js","Express","Socket.IO","id\u002Fprojects\u002Fdygoo","Eksperimen realtime dua bagian — frontend Nuxt 2 statis yang menyimpan status ruang di cookie, berkomunikasi dengan server Express\u002FSocket.IO mandiri yang mengelola ruang, presence, dan broadcast pesan.","standard",2020,"TwA4rE6IxVPyp4RsYPPpOnkeCdKgIjXnDe0TDTg3GgU",1789641311096]