-
Notifications
You must be signed in to change notification settings - Fork 7
๐ 10.29 ์ฃผ์ & ์๊ตฌ์ฌํญ ์์ฑ
Sujong Kwak edited this page Nov 4, 2024
·
1 revision
- ์์ : CRDT ๊ตฌํ
- ๋ฏธ๋ผ: CRDT ์ง์ค, ์บ๋ฒ์ค๋ ๋ถ์ฐจ์
- ํ์ฐ: CRDT ์์ฃผ
- ๋ค์: ์์ ์บ๋ฒ์ค ํ๊ทธ ๊ตฌํ (ํ์, ์ ๋๊ป, ์์ ๋ฑ)
- ์ ์: ์บ๋ฒ์ค ๊ธฐ๋ฅ ๊ตฌํ
-
์ฃผ์
-
์คํ์ด/ํ์ ์บ์น๋ง์ธ๋ ๊ฒ์
: ์์ฒด ์ ์ CRDT + P2P ํต์ + ์บ๋ฒ์ค API๋ฅผ ํ์ฉํ ๋๋ก์ ๊ธฐ๋ฅ
-
-
์์๋๋ ์ฑ๋ฆฐ์ง
- ๊ธฐ์ ์ ๋๊ด: ์ง์ ๋ค๋๋ค ๊ณต๋ ์ค์๊ฐ ํธ์ง ๊ตฌํ
-
P2P ์ฐ๊ฒฐ์ ์ ์ฝ
- ํด๋ผ์ด์ธํธ ์ฑ๋ฅ ๋ฐ ์ฐ๊ฒฐ ํ๊ณ
- ๋ฐ์ดํฐ ์ผ๊ด์ฑ ์ ์ง ๋ฌธ์
- ๋ค์ค ์ฐ๊ฒฐ ์ ๋ณ๋ชฉ ํ์
-
์ด๋ฒ ์ฃผ ํ์ ๊ณผ์
- ์บ๋ฒ์ค ๋ฐ CRDT ๊ด๋ จ ๊ธฐ์ด ํ์ต
-
์ด๋ฒ ์ฃผ ์ ํ ๊ณผ์
- CRDT์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด ์บ๋ฒ์ค ํ๋กํ ํ์ ์ ์
-
๊ฐ๋ฐ ๋ก๋๋งต
- 1-3์ฃผ์ฐจ: CRDT ๋ฐ ๊ฒ์ ๊ธฐ๋ณธ ๊ตฌํ, ์บ๋ฒ์ค API๋ฅผ ํ์ฉํ ๊ทธ๋ฆผํ ๋ฐ UI ๊ตฌํ
- 3์ฃผ์ฐจ ํ๊ฐ: CRDT ๊ตฌํ ๊ฐ๋ฅ์ฑ ์ฌ๊ฒํ ํ ๋ฐฉํฅ์ฑ ์ต์ข ๊ฒฐ์
-
์๋๋ฆฌ์ค
-
CRDT ๊ตฌํ ์ฑ๊ณต ์:
๊ฒ์ ๊ณ ๋ํ (๋ธ๋ฌํ ๋ฐ ํ์ ์์ ์ถ๊ฐ)
-
CRDT ๊ตฌํ ์ด๋ ค์ธ ์:
์บ๋ฒ์ค ๊ธฐ๋ฅ ๊ณ ๋ํ (ํ์, ๋ํ ์กฐ์, ์ ์ฑ์ฐ๊ธฐ ๋ฑ)
-
CRDT ๊ตฌํ ์ฑ๊ณต ์:
๐พ ํ๋ก์ ํธ ๊ธฐํ ๋ฐ ๊ฒ์ ๊ท์น ์ ์
Epic 1: ์ค์๊ฐ ๋๋ก์ ์บ๋ฒ์ค
Story: ์ฌ์ฉ์๋ ์น์์ ์์ ๋กญ๊ฒ ๊ทธ๋ฆผ์ ๊ทธ๋ฆด ์ ์์ผ๋ฉฐ, ๊ธฐ๋ณธ์ ์ธ ๋๋ก์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค.
ID | Task | Priority | Description |
---|---|---|---|
1.1.1 | Canvas ๊ธฐ๋ณธ ๊ตฌ์กฐ ์ค์ | High | Canvas ์๋ฆฌ๋จผํธ ์์ฑ, width/height ์ค์ , context ์ด๊ธฐํ |
1.1.2 | ๋ง์ฐ์ค/ํฐ์น ์ด๋ฒคํธ ํธ๋ค๋ฌ | High | ๋๋๊ทธ, ํฐ์น ์ด๋ฒคํธ ์ฒ๋ฆฌ ๋ฐ ์ขํ ๊ณ์ฐ ๊ตฌํ |
1.1.3 | ๋๋ก์ ์ํ ๊ด๋ฆฌ | High | ๊ทธ๋ฆฌ๊ธฐ ์ํ ๊ด๋ฆฌ ๋ฐ ์ํ ์ ๋ฐ์ดํธ ๋ก์ง ๊ตฌํ |
1.1.4 | ๊ธฐ๋ณธ ๊ทธ๋ฆฌ๊ธฐ ๊ธฐ๋ฅ | High | ์ ๊ทธ๋ฆฌ๊ธฐ, ์ ์ฐ๊ธฐ ๋ฑ ๊ธฐ๋ณธ ๋๋ก์ ๊ธฐ๋ฅ ๊ตฌํ |
1.2.1 | ๋๊ตฌ ์ ํ UI | Medium | ๋๋ก์ ๋๊ตฌ ์ ํ์ ์ํ UI ์ปดํฌ๋ํธ ๊ตฌํ |
1.2.2 | ์ฐํ ๋๊ตฌ ๊ตฌํ | Medium | ์ฐํ ๋๊ตฌ์ ๋๋ก์ ๋ก์ง ๊ตฌํ |
1.2.3 | ์์ ์ ํ๊ธฐ | Medium | ์์ ์ ํ ๋ฐ ์ ์ฉ ๊ธฐ๋ฅ ๊ตฌํ |
1.2.4 | ์ ๋๊ป ์กฐ์ | Medium | ์ ๋๊ป ์กฐ์ ๊ธฐ๋ฅ ๋ฐ UI ๊ตฌํ |
1.2.5 | ์ง์ฐ๊ฐ ๊ตฌํ | High | ์ง์ฐ๊ฐ UI ๋ฐ ๊ธฐ๋ฅ ๊ตฌํ |
1.2.6 | ํ์ธํธํต ๊ตฌํ | Low | ํ์ธํธํต UI ๋ฐ ๊ธฐ๋ฅ ๊ตฌํ |
1.2.7 | ํ์ ์กฐ์ | Low | ํ๋ธ๋ฆฟ: ๋ด์ฅ ํ์ ์์คํ ์ง์ / ์น: ๋ง์ฐ์ค ์๋ ๊ธฐ๋ฐ |
1.3.1 | Undo/Redo ์คํ | High | ์์ ํ์คํ ๋ฆฌ ์คํ ๊ตฌ์กฐ ๊ตฌํ |
1.3.2 | ์์ ๊ธฐ๋ก ์ ์ฅ | High | ๋๋ก์ ์์ ๊ธฐ๋ก ์ ์ฅ ๋ฐ ๋ณต์ ๋ก์ง |
1.3.3 | ์ฌ์ฉ์๋ณ ํ์คํ ๋ฆฌ | High | ๋ฉํฐ์ ์ ํ๊ฒฝ์์์ ํ์คํ ๋ฆฌ ๊ด๋ฆฌ |
Epic 2: ์ค์๊ฐ ํ์
๊ธฐ๋ฅ
Story: ์ฌ์ฉ์๋ค์ด ๋คํธ์ํฌ ์ํ์ ๊ด๊ณ์์ด ์ค์๊ฐ์ผ๋ก ๋์์ ๊ทธ๋ฆผ์ ๊ทธ๋ฆด ์ ์์ด์ผ ํ๋ค.
ID | Task | Priority | Description |
---|---|---|---|
2.1.1 | WebRTC ํผ์ด ์ฐ๊ฒฐ | Critical | P2P ์ฐ๊ฒฐ ์ค์ ๋ฐ ์ด๊ธฐํ |
2.1.2 | ์๊ทธ๋๋ง ์๋ฒ | Critical | WebRTC ์๊ทธ๋๋ง ์๋ฒ ๊ตฌํ |
2.1.3 | ๋ฐ์ดํฐ ์ฑ๋ ์ค์ | Critical | ์ค์๊ฐ ๋ฐ์ดํฐ ์ ์ก์ ์ํ ์ฑ๋ ๊ตฌ์ฑ |
2.1.4 | ์ฐ๊ฒฐ ์ํ ๊ด๋ฆฌ | High | ํผ์ด ์ฐ๊ฒฐ ์ํ ๋ชจ๋ํฐ๋ง ๋ฐ ๊ด๋ฆฌ |
2.2.1 | CRDT ๋ฐ์ดํฐ ๊ตฌ์กฐ | Critical | ๋๋ก์์ฉ CRDT ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ค๊ณ |
2.2.2 | ์์ ๋๊ธฐํ | Critical | CRDT ๊ธฐ๋ฐ ์์ ๋๊ธฐํ ๊ตฌํ |
2.2.3 | ์ถฉ๋ ํด๊ฒฐ | Critical | ๋์ ํธ์ง ์ถฉ๋ ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ |
2.2.4 | ์ง์ฐ ์ฒ๋ฆฌ | High | ๋คํธ์ํฌ ์ง์ฐ ์ํฉ ์ฒ๋ฆฌ ๋ก์ง |
Epic 3: ๊ฒ์ ์์คํ
Story: ์ฌ์ฉ์๋ค์ด ์ค์๊ฐ์ผ๋ก ๊ทธ๋ฆผ ๊ทธ๋ฆฌ๊ธฐ ๊ฒ์์ ์ฐธ์ฌํ๊ณ ์ญํ ์ ๋ฐ๋ผ ํ๋ ์ดํ ์ ์์ด์ผ ํ๋ค.
ID | Task | Priority | Description |
---|---|---|---|
3.1.1 | URL ์์ฑ | High | ์ ๋ํฌํ ๊ฒ์๋ฐฉ URL ์์ฑ |
3.1.2 | ๊ฒ์๋ฐฉ ๊ด๋ฆฌ | High | ๊ฒ์๋ฐฉ ์์ฑ ๋ฐ ์ฐธ์ฌ ๋ก์ง, ๊ฒ์ ์์ ๋ฐ ๊ฒ์ ๋์ค ์ฌ์์ ๋ก์ง |
3.1.3 | ๋๋ค์ ์์คํ | Medium | ์ฌ์ฉ์ ๋๋ค์ ์ ๋ ฅ ๋ฐ ๊ด๋ฆฌ |
3.1.4 | ์ฐธ์ฌ์ ๊ด๋ฆฌ | High | ๊ฒ์ ์ฐธ์ฌ์ ์ํ ๊ด๋ฆฌ |
3.2.1 | ์ญํ ๋ฐฐ์ | High | ํ๋ ์ด์ด ์ญํ ํ ๋น ๋ก์ง ๊ตฌํ (๊ทธ๋ฆผ๊พผ, ๋ฐฉํด๊พผ, ๊ตฌ๊ฒฝ๊พผ ๋๋ค ๋ฐฐ์ ) |
3.2.2 | ๋ผ์ด๋ ๊ด๋ฆฌ | High | ๊ฒ์ ๋ผ์ด๋ ์งํ ๋ก์ง |
3.2.3 | ํ์ด๋จธ | Medium | ๊ฒ์ ์ ํ ์๊ฐ ๊ด๋ฆฌ, ๊ตฌ๊ฒฝ๊พผ์๊ฒ ๋ณด์ฌ์ค ๋๋ ์ด๋ฅผ ์ ์ฉํ ๊ทธ๋ฆผ ์ ์ก ๋ก์ง ๊ฐ๋ฐ |
3.2.4 | ์ ๋ต ์์คํ | High | ์ ๋ต ์ ๋ ฅ ๋ฐ ๊ฒ์ฆ ์์คํ ๊ตฌํ - ์ ๋ต ์ ์ถ ์ ์๋ฒ์ ํต์ , ์ ๋ต ๊ฒ์ฆ ๋ก์ง ๊ฐ๋ฐ |
3.3.1 | ํฌ์ธํธ ๊ณ์ฐ | Medium | ๊ฒ์ ํฌ์ธํธ ๊ณ์ฐ ๋ก์ง |
3.3.2 | ์ ์ ์ ๋ฐ์ดํธ | Medium | ์ค์๊ฐ ์ ์ ๋ฐ์ |
3.3.3 | ์์ ์์คํ | Low | ํ๋ ์ด์ด ์์ ๊ด๋ฆฌ |
Epic 4: UI/UX
Story: ์ฌ์ฉ์๋ค์ด ์ง๊ด์ ์ด๊ณ ๋ฐ์์ฑ ์ข์ ์ธํฐํ์ด์ค๋ฅผ ํตํด ๊ฒ์์ ์ฆ๊ธธ ์ ์์ด์ผ ํ๋ค.
ID | Task | Priority | Description |
---|---|---|---|
4.1.1 | ๋ฉ์ธ ํ๋ฉด | High | ๊ฒ์ ๋ฉ์ธ ํ๋ฉด ๋ ์ด์์ |
4.1.1.5 | ๋๊ธฐ ํ๋ฉด | High | ๊ฒ์ ์์ ์ ๋๊ธฐ์ค UI |
4.1.2 | ๋๊ตฌ ์ธํฐํ์ด์ค | Medium | ๋๋ก์ ๋๊ตฌ UI ๊ตฌํ |
4.1.3 | ์ฑํ /์ ๋ต UI | High | ์ฑํ ๋ฐ ์ ๋ต ์ ๋ ฅ ์ธํฐํ์ด์ค |
4.1.4 | ๋ฐ์ํ ๋์์ธ | Medium | ๋ชจ๋ฐ์ผ ๋์ ๋ฐ์ํ UI |
4.2.1 | ๊ฒ์ ์ํ ํ์ | High | ํ์ฌ ๊ฒ์ ์งํ ์ํ ํ์ |
4.2.2 | ํ๋ ์ด์ด ๋ชฉ๋ก | Medium | ์ฐธ๊ฐ์ ๋ชฉ๋ก ๋ฐ ์ญํ ํ์ |
4.2.3 | ํ์ด๋จธ UI | Medium | ๊ฒ์ ํ์ด๋จธ ์๊ฐํ |
4.2.4 | ์ ์ํ | Medium | ๊ฒ์ ์ค ์ค์๊ฐ ์ ์ ํ์ UI |
4.2.5 | ๋ฑ์ํ | High | ์ ์ ํฉ์ฐ ํ ๋๋ค์, ๋ฑ์, ์ ์ UI, ๋ค์ ํ๊ธฐ ๋ฒํผ |
4.3.1 | ์ํ ์๋ฆผ | Low | ๊ฒ์ ์งํ ์ํ ์๋ฆผ ์์คํ (๋ผ์ด๋ ์) |
4.3.2 | ์๋ฌ ์ฒ๋ฆฌ | Medium | ์๋ฌ ๋ฉ์์ง ํ์ ์์คํ |
4.3.3 | ๋ก๋ฉ ํ์ | Low | ๋ก๋ฉ ์ํ ์ธ๋์ผ์ดํฐ |
4.3.4 | ๋์๋ง | High | ๊ฒ์ ํํ ๋ฆฌ์ผ ์์คํ |
- 1. ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ ๋ฐ ํ๋ก์ ํธ ๋ฌธ์ํ
- 2. ์ค์๊ฐ ํต์
- 3. ์ธํ๋ผ ๋ฐ CI/CD
- 4. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด Canvas ๊ตฌํํ๊ธฐ
- 5. ์บ๋ฒ์ค ๋๊ธฐํ๋ฅผ ์ํ ์์ CRDT ๊ตฌํ๊ธฐ
-
6. ์ปดํฌ๋ํธ ํจํด๋ถํฐ ์น์์ผ๊น์ง, ํจ์จ์ ์ธ FE ์ค๊ณ
- ์ข์ ์ปดํฌ๋ํธ๋ ๋ฌด์์ธ๊ฐ? + Headless Pattern
- ํจ์จ์ ์ธ UI ์ปดํฌ๋ํธ ์คํ์ผ๋ง: Tailwind CSS + cn.ts
- Tailwind CSS๋ก ๋์์ธ ์์คํ ๋ฐ UI ์ปดํฌ๋ํธ ์ธํ
- ์น์์ผ ํด๋ผ์ด์ธํธ ๊ตฌํ๊ธฐ: React ํ๊ฒฝ์์ ํจ์จ์ ์ธ ์น์์ผ ์ํคํ ์ฒ
- ์น์์ผ ํด๋ผ์ด์ธํธ ์ฝ๋ ๋ถ์ ๋ฐ ๊ณต์
- 7. ํธ๋ฌ๋ธ ์ํ ๋ฐ ์ฑ๋ฅ/UX ๊ฐ์
- 1์ฃผ์ฐจ ๊ธฐ์ ๊ณต์
- 2์ฃผ์ฐจ ๋ฐ๋ชจ ๋ฐ์ด
- 3์ฃผ์ฐจ ๋ฐ๋ชจ ๋ฐ์ด
- 4์ฃผ์ฐจ ๋ฐ๋ชจ ๋ฐ์ด
- 5์ฃผ์ฐจ ๋ฐ๋ชจ ๋ฐ์ด
- WEEK 06 ์ฃผ๊ฐ ๊ณํ
- WEEK 06 ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ
- WEEK 06 ์ฃผ๊ฐ ํ๊ณ