ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toFrontend
์๋ฌธ ์ฝ๊ธฐ
Velt SDK ๊ธฐ๋ฐ Real-time Collaboration ๋ ์ด์ด ๊ตฌ์ถ์ ํตํ ๊ฐ๋ฐ ๊ณต์ ๋จ์ถ
Build a Dropbox Paper-Style Collaborative Editor with Next.js and Velt๐ฅ
AI ์์ฝ
Context
์ค์๊ฐ ํ์ ๊ธฐ๋ฅ์ ์ํ ๋ฐฑ์๋ ์ธํ๋ผ ๊ตฌ์ถ ์ ๋ฐ์ํ๋ Conflict Resolution ๋ฐ ๋๊ธฐํ ๋ก์ง ์ค๊ณ์ ๋ณต์ก์ฑ ์กด์ฌ. ๊ธฐ์กด์ ์ธ๋ถ ํด ์์กด ๋ฐฉ์์ ์ปจํ ์คํธ ๋จ์ ๋ก ์ธํ ์ฌ์ฉ์ ์ดํ๊ณผ ๋ฎ์ ์ธ๊ฒ์ด์ง๋จผํธ ์ ๋ฐ.
Technical Solution
- TipTap Editor์ Velt SDK ํตํฉ์ ํตํ ProseMirror ๊ธฐ๋ฐ์ ํ์ฅ ๊ฐ๋ฅํ Rich Text ํธ์ง ํ๊ฒฝ ๊ตฌ์ถ
- VeltProvider๋ฅผ Root Layout์ ๋ฐฐ์นํ์ฌ ์ ์ญ Collaboration State ๋ฐ Real-time Connection ์ ์ง
- Velt TipTap Extension ๋ฑ๋ก์ ํตํ ์ ํ ํ ์คํธ ๊ธฐ๋ฐ์ Contextual Comments ์ต์ปค๋ง ๊ตฌํ
- Zustand ๊ธฐ๋ฐ์ User Switching ๋ก์ง์ ํ์ฉํ Presence State์ ์ฆ๊ฐ์ ์ธ ๋๊ธฐํ ์ฒ๋ฆฌ
- Velt SDK์ ์ถ์ํ๋ API๋ฅผ ํตํ Comment-Sidebar-Notification ๊ฐ์ ๋จ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ ๋ฐ ์ํ ๋๊ธฐํ ์ค๊ณ
- App Router ๊ตฌ์กฐ ๋ด์์ Provider ๊ณ์ธตํ๋ฅผ ํตํ Theme ๋ฐ Collaboration ์ปจํ ์คํธ์ ๋ถ๋ฆฌ ๋ฐ ๊ด๋ฆฌ
์ค์ฒ ํฌ์ธํธ
1. ์ค์๊ฐ ๋๊ธฐํ ํ์ ์ Conflict Resolution ๋ก์ง ์ง์ ๊ตฌํ ๋์ ๊ฒ์ฆ๋ Collaboration SDK ๊ฒํ
2. Rich Text Editor ๋์ ์ ํ์ฅ ๊ฐ๋ฅํ Plugin ์ํคํ ์ฒ(์: TipTap)๋ฅผ ์ ํํ์ฌ ๊ธฐ๋ฅ ํ์ฅ์ฑ ํ๋ณด
3. ์ ์ญ ์ํ ๊ด๋ฆฌ ๋๊ตฌ์ SDK Provider์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ์ฌ ์ํ ์ ํ ํจ์จ ์ต์ ํ