-
Notifications
You must be signed in to change notification settings - Fork 0
๐WebRTC ๊ฐ๋ ์ ๋ฆฌ
์ด๋ฒ ๊ธ์์๋ WebRTC(Web Real-Time Communication)
์ ๋ํด ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
WebRTC(Web Real-Time Communication)
๋ ์น ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ์ฌ์ดํธ๊ฐ ๋ณ๋์ ์ค๊ฐ์ ์์ด ๋ธ๋ผ์ฐ์ ๊ฐ์ ์ค์๊ฐ ์์ฑ, ์์ ํตํ์ ๋ฐ์ดํฐ ์ ์ก์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ธฐ์ ์
๋๋ค. WebRTC๋ฅผ ๊ตฌ์ฑํ๋ ์ผ๋ จ์ ํ์ค๋ค์ ํ๋ฌ๊ทธ์ธ์ด๋ ์ 3์ ์ํํธ์จ์ด ์ค์น ์์ด P2P(Peer-to-Peer) ํต์ ์ ์ง์ํด ์ค๊ฐ ์๋ฒ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ์ข
๋จ ๊ฐ ๋ฐ์ดํฐ ๊ณต์ ์ ํ์ ํ์๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ง์ฐ ์๊ฐ์ ์ค์ด๊ณ ๋น ๋ฅธ ๋ฐ์ดํฐ ์ ์ก์ด ๊ฐ๋ฅํฉ๋๋ค. WebRTC๋ ์ฃผ๋ก ๋น๋์ค ํตํ, ํ๋ฉด ๊ณต์ , ํ์ผ ์ ์ก ๊ฐ์ ๊ธฐ๋ฅ์ ์ฌ์ฉ๋ฉ๋๋ค.
WebRTC์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
์์ฑ ๋ฐ ์์ ํตํ
๋ธ๋ผ์ฐ์ ๊ฐ ์์ ํตํ์ ์์ฑ ํตํ๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค.
-
๋ฐ์ดํฐ ์ ์ก
๋ฐ์ดํฐ ์ฑ๋์ ํตํด ํ ์คํธ ๋ฉ์ธ์ง, ํ์ผ ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฃผ๊ณ ๋ฐ์ ์ ์์ต๋๋ค.
-
ํ๋ฉด ๊ณต์
์๊ฒฉ ํ์๋ Presentation ๊ฐ์ ๊ธฐ๋ฅ์ ์ ์ฉํ๊ฒ ํ์ฉํ ์ ์์ต๋๋ค.
์ด์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ WebRTC๋ ์ฃผ๋ก ํ์ ํ์, ๋ผ์ด๋ธ ์คํธ๋ฆฌ๋ฐ, ์๊ฒฉ ํ์ต ํ๋ซํผ ๋ฑ์์ ๋ง์ด ํ์ฉ๋ฉ๋๋ค.
WebRTC์ ์ฅ๋จ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฅ์
-
์ค์๊ฐ ํต์
ํ๋ฌ๊ทธ์ธ ์์ด ๋ธ๋ผ์ฐ์ ๊ฐ ์ค์๊ฐ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํด ๊ฐํธํ๋ฉฐ, ์๋ฒ ๋น์ฉ์ ์ค์ผ ์ ์์ต๋๋ค.
-
๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ์ง์
Chrome, Firefox, Safari ๋ฑ ์ฃผ์ ๋ธ๋ผ์ฐ์ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์๋๋ฉฐ, ๋ณ๋์ ํ๋ฌ๊ทธ์ธ์ด๋ ์ํํธ์จ์ด ์ค์น ์์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
-
๋์ ๋ณด์์ฑ
WebRTC๋ ๋ณด์์ ๊ฐํํ๊ธฐ ์ํด
DTLS(Secure Datagram Transport Layer Security)
์SRTP(Secure Real-time Transport Protocol)
๋ฅผ ์ฌ์ฉํ์ฌ, ์ ์ก ์ค์ธ ๋ฏธ๋์ด์ ๋ฐ์ดํฐ๋ฅผ ์ํธํํฉ๋๋ค. -
์คํ์์ค ๋ฐ ๋ฌด๋ฃ ์ฌ์ฉ
WebRTC๋ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ ๊ณต๋๋ฏ๋ก ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ๋ค์ํ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์ ๊ฐ ๋ง์ ๊ฐ๋ฐ๊ณผ ํ์ฅ์ด ์ฉ์ดํฉ๋๋ค.
๋จ์
-
๋คํธ์ํฌ ํ๊ฒฝ์ ๋ฐ๋ฅธ ํ์ง ์ ํ
P2P ์ฐ๊ฒฐ์ ๋คํธ์ํฌ ์ํ์ ๋ฐ๋ผ ํ์ง์ด ์ํฅ์ ๋ฐ์ผ๋ฏ๋ก, ๋คํธ์ํฌ ํ๊ฒฝ์ด ๋ถ์์ ํ ๊ฒฝ์ฐ์๋ ์์ฑ ๋ฐ ์์ ํ์ง์ด ๋จ์ด์ง ์ ์์ต๋๋ค. ๋ํ ๋ค์์ ์ฌ์ฉ์๊ฐ ์ฐธ์ฌํ๋ ํ์ ํ์์ ๊ฒฝ์ฐ, ๋คํธ์ํฌ ๋์ญํญ ์ฌ์ฉ์ด ์ฆ๊ฐํ์ฌ ์ฐ๊ฒฐ ํ์ง์ด ๋ฎ์์ง ์ ์์ต๋๋ค.
-
NAT ๋ฐ ๋ฐฉํ๋ฒฝ ๋ฌธ์
NAT(Network Address Translation)
์ด๋ ๋ฐฉํ๋ฒฝ ์ค์ ์ผ๋ก ์ธํด P2P ์ฐ๊ฒฐ์ด ์ ํ๋๋ ๊ฒฝ์ฐ,TURN ์๋ฒ
๋ฅผ ํตํด ์ค๊ณํด์ผ ํ๋ฏ๋ก ๋์ญํญ ๋น์ฉ์ด ์ฆ๊ฐํ ์ ์์ต๋๋ค. ๋ํ ๊ธฐ์ ๋คํธ์ํฌ๋ ๊ฐ๋ ฅํ ๋ฐฉํ๋ฒฝ ํ๊ฒฝ์์๋ ์ง์ ์ฐ๊ฒฐ์ด ์ด๋ ค์ธ ์ ์์ต๋๋ค. -
๋ณต์กํ ๊ฐ๋ฐ ๋ฐ ์ด์
STUN ์๋ฒ
์TURN ์๋ฒ
๋ฅผ ์ค์ ํด์ผ ํ๋ฉฐ,ICE(Interactive Connectivity Establishment)
ํ๋กํ ์ฝ์ ํตํด ์ฐ๊ฒฐ์ ์ค์ ํด์ผ ํ๋ฏ๋ก, ๋จ์ํ HTTP ํต์ ๋ณด๋ค ๋ณต์กํฉ๋๋ค. ๋ํ ๋ค์๊ฐ ์ฐ๊ฒฐ์ ์ํด์๋ SFU๋ TURN ์๋ฒ๋ฅผ ๋ณ๋๋ก ์ด์ํด์ผ ํ๋ฏ๋ก, ์ด์ ๋น์ฉ๊ณผ ๋ณต์ก๋๊ฐ ์ฆ๊ฐํฉ๋๋ค.
-
STUN ์๋ฒ
STUN(Session Traversal Utilities for NAT) ์๋ฒ
๋ ํด๋ผ์ด์ธํธ๊ฐ ์์ ์ ๊ณต์ธ IP ์ฃผ์์ ํฌํธ๋ฅผ ์์๋ด๊ธฐ ์ํด ์ฌ์ฉํ๋ ์๋ฒ์ ๋๋ค. ํด๋ผ์ด์ธํธ๋ STUN ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ , ์๋ฒ๋ ์์ฒญ์ ์์ ํ IP ์ฃผ์์ ํฌํธ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ ค์ค๋๋ค. ์ด๋ฅผ ํตํด ํด๋ผ์ด์ธํธ๋ ์์ ์ ๊ณต์ธ IP์ ํฌํธ๋ฅผ ์์๋ด์ด NAT ๋ฐฉํ๋ฒฝ์ ๋์ด ๋ค๋ฅธ ํด๋ผ์ด์ธํธ์ ์ง์ P2P ์ฐ๊ฒฐ์ ์๋ํ ์ ์์ต๋๋ค.STUN ์๋ฒ๋ ์ฃผ๋ก NAT ๋ฐฉํ๋ฒฝ ๋ค์ ์๋ ํด๋ผ์ด์ธํธ๋ค์ด ์ฐ๊ฒฐ์ ์ค์ ํ ๋ ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฐ๊ฒฐ์ ์ํ ๊ฒฝ๋ก ์ ๋ณด๋ง ์ ๊ณตํ๊ณ , ์ค์ ๋ฐ์ดํฐ๋ ํด๋ผ์ด์ธํธ ๊ฐ์ P2P ์ฐ๊ฒฐ์ ํตํด ์ง์ ์ ๋ฌ๋ฉ๋๋ค.
-
TURN ์๋ฒ
TURN(Traversal Using Relays around NAT) ์๋ฒ
๋ ํด๋ผ์ด์ธํธ ๊ฐ์ ์ง์ P2P ์ฐ๊ฒฐ์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ค๊ณ ์๋ฒ ์ญํ ์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ์๋ฒ๋ฅผ ์๋ฏธํฉ๋๋ค. ํด๋ผ์ด์ธํธ๋ TURN ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ , ์๋ฒ๋ ์ด๋ฅผ ์๋๋ฐฉ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํฉ๋๋ค.TURN ์๋ฒ๋ NAT ๋ฐฉํ๋ฒฝ์ด ๊ฐ๋ ฅํ์ฌ STUN์ ํตํด ์ฐ๊ฒฐ์ด ๋ถ๊ฐ๋ฅํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ๋ค๋ง TURN ์๋ฒ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ค๊ณํ๊ธฐ ๋๋ฌธ์ ๋์ญํญ ์ฌ์ฉ๋์ด ๋์์ ธ ์๋ฒ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
WebRTC๋ ์๊ทธ๋๋ง(Signaling)
์ ํตํด ๋ ์ฅ์น๊ฐ ์๋ก ํต์ ํ ์ ์๋๋ก Peer ๊ฐ ์ ๋ณด๋ฅผ ๊ตํํฉ๋๋ค. ์๊ทธ๋๋ง(Signaling)์ด๋ ์์ 3๊ฐ์ง API๋ฅผ ํตํด์ ๋ฐ์ดํฐ ๊ตํ์ด ์ด๋ฃจ์ด์ง๋ฉฐ RTCPeerConnection๋ค์ด ์ ์ ํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ ์๊ฒ ์ฒ๋ฆฌํด ์ฃผ๋ ๊ณผ์ ์ ์๋ฏธํฉ๋๋ค. ์๊ทธ๋๋ง ์๋ฒ(Signaling Server)
๋ WebRTC ํ์ค์ ํฌํจ๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋ณ๋๋ก ๊ตฌํํ๊ฑฐ๋ ์ธ๋ถ ์๋น์ค๋ฅผ ์ด์ฉํด์ผ ํฉ๋๋ค. ์๊ทธ๋๋ง ๊ณผ์ ์ด ๋๋๋ฉด ๋ ์ฅ์น๋ ์ง์ P2P ์ฐ๊ฒฐ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ฒ ๋ฉ๋๋ค.
WebRTC๋ ๊ธฐ๋ณธ์ ์ผ๋ก P2P ๋ฐฉ์์ด๋ฏ๋ก, ๊ฐ ์ฐธ๊ฐ์๊ฐ ์๋ก ์ง์ ์ฐ๊ฒฐ์ ๋งบ๊ฒ ๋ฉ๋๋ค. ์ฐธ๊ฐ์๊ฐ ๋ง์์ง์๋ก ๊ฐ ์ฐ๊ฒฐ์ ๋ํ ๋ฆฌ์์ค ์๋ชจ๊ฐ ์ปค์ง๋ฉฐ, ํนํ ๋์ญํญ๊ณผ CPU์ ๋ถ๋ด์ด ์๊ธธ ์ ์์ต๋๋ค.
Mesh ๋ฐฉ์
๋ ๊ฐ ์ฐธ๊ฐ์๊ฐ ๋ชจ๋ ๋ค๋ฅธ ์ฐธ๊ฐ์์ ์ง์ ์ฐ๊ฒฐ์ ๋งบ๋ ๋ฐฉ์์ ์๋ฏธํฉ๋๋ค. ์ฆ, ๋ชจ๋ ์ฐธ๊ฐ์๊ฐ ์๋ก ์ฐ๊ฒฐํ๋ ๋ฐฉ์์ด๋น๋ค. ์๋ฅผ ๋ค์ด, 6๋ช
์ ์ฐธ๊ฐ์๊ฐ ์กด์ฌํ ๊ฒฝ์ฐ, ๊ฐ ์ฐธ๊ฐ์๋ 5๊ฐ์ ์ฐ๊ฒฐ์ ๋งบ์ด์ผ ํฉ๋๋ค.
Mesh ๋ฐฉ์์ ๊ตฌํ์ด ๊ฐ๋จํ๊ณ ์๋ฒ ๋น์ฉ์ด ์ ๊ฒ ๋ ๋ค๋ ์ฅ์ ์ด ์์ง๋ง, ์ฐ๊ฒฐ์ด ๋์ด๋ ์๋ก ๋คํธ์ํฌ ๋ฐ CPU ๋ถ๋ด์ด ์ปค์ง๊ธฐ ๋๋ฌธ์, ์ฌ๋ฌ ๋ช ์ ์ฐธ๊ฐ์๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ Mesh ๋ฐฉ์์ ๋น๊ต์ ์๊ท๋ชจ ๊ทธ๋ฃน์ ์ ํฉํ ๋ฐฉ์์ ๋๋ค.
SFU ๋ฐฉ์
์ Selective Forwarding Unit ์๋ฒ
๋ฅผ ํ์ฉํ๋ ๋ฐฉ์์
๋๋ค. ๊ฐ ์ฐธ๊ฐ์๋ ์์ ์ ๋ฏธ๋์ด ์คํธ๋ฆผ์ SFU ์๋ฒ๋ก ๋ณด๋ด๊ณ , ์๋ฒ๋ ๊ฐ ์ฐธ๊ฐ์์๊ฒ ๋ค๋ฅธ ์ฌ๋๋ค์ ์คํธ๋ฆผ์ ์ค๊ณํฉ๋๋ค. ์๋ฒ๋ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ์ค๊ณํ๋ ์ญํ ๋ง ํ๊ธฐ ๋๋ฌธ์ CPU ๋ถ๋ด์ด ์ ๊ณ ํ์ฅ์ฑ์ด ๋ฐ์ด๋ฉ๋๋ค.
SFU ๋ฐฉ์์ ๊ฒฝ์ฐ ๊ฐ ์ฐธ๊ฐ์๋ ์๋ฒ์ ํ๋์ ์ฐ๊ฒฐ๋ง ๋งบ์ผ๋ฉด ๋๋ฏ๋ก ๋คํธ์ํฌ ์ฌ์ฉ๋์ด ์ ๊ณ ๋๊ท๋ชจ ๊ทธ๋ฃน ์ฑํ ์ด ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ๋ค๋ง SFU ์๋ฒ๋ฅผ ์ค์ ํด์ผ ํ๋ฏ๋ก ์๋ฒ ๋น์ฉ์ด ๋ฐ์ํ ์ ์๊ณ ์ค์ ๋ณต์ก๋๊ฐ ๋๋ค๋ ๋จ์ ์ด ์กด์ฌํฉ๋๋ค.
SFU ๋ฐฉ์์ ๋ค์์ ์ฐธ๊ฐ์๊ฐ ์ฐธ์ฌํ๋ ํ์ ์ฑํ ์ ๊ตฌํํ ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฐฉ์์ ๋๋ค. SFU ๋ฐฉ์์ ์ ์ฉํ๊ธฐ ์ํด OpenVidu, mediasoup, jitsi Meet, Twilio ๋ฑ SFU ๋ฐฉ์์ ์ง์ํ๋ ์คํ ์์ค๋ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
SFU ๋ฐฉ์์ ์๋ ์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
๋ฏธ๋์ด ์คํธ๋ฆผ ์ ๋ก๋
๊ฐ ํด๋ผ์ด์ธํธ๋ ์์ ์ ๋น๋์ค/์ค๋์ค ์คํธ๋ฆผ์ SFU ์๋ฒ์ ์ ๋ก๋ํฉ๋๋ค.
-
Selective Forwarding
SFU ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ ์คํธ๋ฆผ์ ์ ํ์ ์ผ๋ก ํฌ์๋ฉํฉ๋๋ค. ์๋ฒ๋ ๋ฏธ๋์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ๊ฐ๊ณตํ์ง ์๊ณ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ์ ๋ฌํ๋ฏ๋ก CPU ๋ถํ๊ฐ ์ ์ต๋๋ค.
-
๋ค์ด๋ก๋
๊ฐ ํด๋ผ์ด์ธํธ๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ ์คํธ๋ฆผ์ SFU ์๋ฒ๋ก๋ถํฐ ๋ค์ด๋ก๋ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ฐ ํด๋ผ์ด์ธํธ๋ SFU ์๋ฒ์๋ง ์ฐ๊ฒฐ๋๋ฉฐ, ์ฌ๋ฌ ๋ช ์ ์ฌ์ฉ์์ ์ง์ ์ฐ๊ฒฐํ ํ์๊ฐ ์์ต๋๋ค.
SFU ๋ฐฉ์์ ์ฅ๋จ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฅ์
-
ํ์ฅ์ฑ
๊ฐ ํด๋ผ์ด์ธํธ๋ SFU ์๋ฒ์ ํ๋์ ์ฐ๊ฒฐ๋ง ์ ์งํ๋ฏ๋ก, ์ฌ๋ฌ ํด๋ผ์ด์ธํธ๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์๋ฒ ๋ฆฌ์์ค๊ฐ ํ์ฉํ๋ ํ ๋ง์ ์ฌ์ฉ์๋ฅผ ๋์์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
-
๋ฎ์ ํด๋ผ์ด์ธํธ ๋ถ๋ด
๊ฐ ํด๋ผ์ด์ธํธ๋ SFU ์๋ฒ์ ํ๋์ ์ฐ๊ฒฐ๋ง ํ๋ฉด ๋๋ฏ๋ก ๋์ญํญ๊ณผ CPU ์ฌ์ฉ๋์ด ์ค์ด๋ญ๋๋ค.
-
๋ค์ํ ๋ ์ด์์
์๋ฒ๊ฐ ๊ฐ ์ฌ์ฉ์์ ๋น๋์ค ์คํธ๋ฆผ์ ๋ณ๋๋ก ์ฒ๋ฆฌํ์ง ์์ผ๋ฏ๋ก ํด๋ผ์ด์ธํธ์์ ์ํ๋ ํํ๋ก ๋ ์ด์์์ ์กฐ์ ํ ์ ์์ต๋๋ค.
-
์ ์ ๋๋ ์ด
SFU ์๋ฒ๋ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ก ์ ๋ฌํ๋ฏ๋ก ์ง์ฐ ์๊ฐ์ด ์ ์ต๋๋ค.
๋จ์
-
์๋ฒ ์ด์ ๋น์ฉ
SFU๋ ํด๋ผ์ด์ธํธ ๊ฐ์ ์คํธ๋ฆผ์ ์ค๊ณํ๊ธฐ ๋๋ฌธ์ ์๋ฒ ๋น์ฉ์ด ๋ฐ์ํ๋ฉฐ, ์ฌ์ฉ์๊ฐ ๋ง์์ง๋ฉด ์๋ฒ ํ์ฅ์ด ํ์ํ ์ ์์ต๋๋ค.
-
Bitrate ๊ด๋ฆฌ ํ์
SFU ์๋ฒ๋ ์ฌ๋ฌ ๋น๋์ค ์คํธ๋ฆผ์ ์ ํ์ ์ผ๋ก ์ ๋ฌํ๊ธฐ ๋๋ฌธ์, ๊ฐ ์ฌ์ฉ์์ ๋คํธ์ํฌ ์ํ์ ๋ง์ถฐ Bitrate๋ฅผ ์กฐ์ ํด์ผ ํฉ๋๋ค.
-
์ค์ ์๋ฒ ์์กด์ฑ
SFU ๋ฐฉ์์ ์๋ฒ๊ฐ ๋ค์ด๋๋ฉด ์ ์ฒด ์ฐ๊ฒฐ์ด ๋์ด์ง ์ ์์ต๋๋ค. ์ด๋ฅผ ๋๋นํด ์ฌ๋ฌ ์๋ฒ๋ฅผ ํ์ฉํ ๋ถํ ๋ถ์ฐ์ด๋ ๋ฐฑ์ ์ด ํ์ํ ์ ์์ต๋๋ค.
web12-MafiaCamp
๐ฏํ๋ก์ ํธ ๊ท์น
๐ปํ๋ก์ ํธ ๊ธฐํ
๐๊ธฐ์ ์คํ
- ๐ป Next.js 15๋ฅผ ์ ํํ ์ด์
- ๐ NestJS๋ฅผ ์ ํํ ์ด์
- ๐ฅ๏ธ OpenVidu๋ฅผ ์ ํํ ์ด์
- ๐ TypeORM์ ์ ํํ ์ด์
- ๐ฌ ์ฑํ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํด WebSocket์ ์ ํํ ์ด์
- ๐ WebRTC ๊ฐ๋ ์ ๋ฆฌ
- ๐พ WebRTC โ Nest.js์ React๋ก ํ๋ ๊ฐ๋จ ํ์์ฑํ ์์
- ๐ฅ๏ธ GitHub Actions๋ก CI/CD ๊ตฌ์ถ ๋ฐฉ๋ฒ
๐Backlog
- ๐1์ฃผ์ฐจ
- ๐2์ฃผ์ฐจ
- 3์ฃผ์ฐจ
- 4์ฃผ์ฐจ
- 5์ฃผ์ฐจ
- 6์ฃผ์ฐจ
๐๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ
- ๐1์ฃผ์ฐจ
- ๐2์ฃผ์ฐจ
- 3์ฃผ์ฐจ
- 4์ฃผ์ฐจ
- 5์ฃผ์ฐจ
- 6์ฃผ์ฐจ
๐๊ฐ์ธ ํ๊ณ
- ๐1์ฃผ์ฐจ
- ๐2์ฃผ์ฐจ
- 3์ฃผ์ฐจ
- 4์ฃผ์ฐจ
- 5์ฃผ์ฐจ
- 6์ฃผ์ฐจ
๐๊ทธ๋ฃน ํ๊ณ
- ๐1์ฃผ์ฐจ ํ๊ณ
- ๐2์ฃผ์ฐจ
- 3์ฃผ์ฐจ
- 4์ฃผ์ฐจ
- 5์ฃผ์ฐจ
- 6์ฃผ์ฐจ
โ๏ธ๋ฉํ ๋ง ์ผ์ง
- ๐1์ฃผ์ฐจ
- ๐2์ฃผ์ฐจ
- 3์ฃผ์ฐจ
- 4์ฃผ์ฐจ
- 5์ฃผ์ฐจ
- 6์ฃผ์ฐจ