-
Notifications
You must be signed in to change notification settings - Fork 0
๐ํ๋ก์ ํธ ์๊ฐ
Gyeongsu Choi edited this page Dec 3, 2024
·
7 revisions
- ๐ย ํ์ ์ฑํ
์ ํตํด ์จ๋ผ์ธ์ผ๋ก ๋งํผ์ ๊ฒ์์ ์ฐธ์ฌํ ์ ์๊ฒ ํจ
- ๐ ํ
์คํธ ์ธ์๋ ๋ค์ํ ๋น์ธ์ด์ ์ ํธ๋ฅผ ๋ฐํ์ผ๋ก ๋งํผ์ ๊ฒ์์ ๊ธด์ฅ๊ฐ์ ๊ณ ์กฐ
- ๐ย ์ค์๊ฐ ํฌํ ๋ฐ ๋ค์ํ ์ง์
๋ณ ์ญํ ์ํ์ ํตํด ์๋ก์ด ์ฐจ์์ ๋งํผ์ ๊ฒ์ ๊ฒฝํ ์ ๊ณต
- ํ์ ์ฑํ ๊ธฐ๋ฅ
- ๊ฒ์์ด ์์๋๋ฉด ์ฐธ์ฌ์๋ค๋ผ๋ฆฌ p2p๋ก ์ฐ๊ฒฐ๋์ด ์ค์๊ฐ ํ์ ์ฑํ ๊ฐ๋ฅ
- ๋งํผ์ ๊ฒ์ ์งํ ๊ธฐ๋ฅ
- ์ฐธ์ฌ์ ์์ ๋น๋กํ ์ง์ ํ ๋น ๊ธฐ๋ฅ
- ์ค์๊ฐ ํฌํ๋ฅผ ํตํ ๋งํผ์ ์ง๋ชฉ ๊ธฐ๋ฅ
- ๋งํผ์์๊ฒ ์ํํ ๋ฏธ์ ๋ถ์ฌ
- ์ง์ ๋ณ ํ์ ๋ฐ ํ ์คํธ ์ฑํ ๊ธฐ๋ฅ
- ์น์์ผ์ ํตํ ์ค์๊ฐ ๋ฐ์ดํฐ ๊ฐฑ์
- ๋ฐฉ ๋ชฉ๋ก ์๋ ์กฐํ
- ์ ์ ์จ๋ผ์ธ ์ํ ์กฐํ
- ๋ฐฉ ์ถ๊ฐ ๋ฐ ์กฐํ ๊ธฐ๋ฅ
- ๊ฒ์์ ์งํํ ๋ฐฉ์ ๊ฐ์คํ ์ ์์
- ๊ฐ์ค๋ ๋ฐฉ ๋ชฉ๋ก ์ค ์ ํํด ๊ฒ์ ์ฐธ์ฌ ๊ฐ๋ฅ
- ๋๋ค ๋งค์นญ ๊ธฐ๋ฅ
- ์ฌ์ฉ์ ๋๋ค ๋งค์นญ ๊ธฐ๋ฅ์ ํตํด ๋น์ด์๋ ๋ฐฉ์ ๋น ๋ฅด๊ฒ ๋ค์ด๊ฐ ์ ์์
- ๋ก๊ทธ์ธ ๊ธฐ๋ฅ
- ์์ ๋ก๊ทธ์ธ์ ํตํด ๊ฐํธํ๊ฒ ํ์๊ฐ์ ๋ฐ ๋ก๊ทธ์ธ์ ํ ์ ์์
web12-MafiaCamp
๐ฏํ๋ก์ ํธ ๊ท์น
๐ปํ๋ก์ ํธ ๊ธฐํ
๐๊ธฐ์ ์คํ
- ๐ป Next.js 15๋ฅผ ์ ํํ ์ด์
- ๐ NestJS๋ฅผ ์ ํํ ์ด์
- ๐ฅ๏ธ OpenVidu๋ฅผ ์ ํํ ์ด์
- ๐ TypeORM์ ์ ํํ ์ด์
- ๐ฌ ์ฑํ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํด WebSocket์ ์ ํํ ์ด์
- ๐ WebRTC ๊ฐ๋ ์ ๋ฆฌ
- ๐พ WebRTC โ Nest.js์ React๋ก ํ๋ ๊ฐ๋จ ํ์์ฑํ ์์
- ๐ฅ๏ธ GitHub Actions๋ก CI/CD ๊ตฌ์ถ ๋ฐฉ๋ฒ
- ๐ฆ Docker์ ๊ฐ๋ ๊ณผ ์ฌ์ฉ ๋ฐฉ๋ฒ
- ๐ OAuth ๊ธฐ๋ณธ ์ธ์ฆ ๊ณผ์ ๊ณผ ์์
๐๊ทธ๋ฃน ํ๊ณ
๐๊ฐ๋ฐ ์ผ์ง
๐๋ฌธ์ ํด๊ฒฐ ๊ฒฝํ
- ์น์์ผ ๋ฐฉ ๊ด๋ฆฌ ๊ตฌ์กฐ ๊ฐ์
- Pub-Sub ํจํด์ ํตํ ์ค์๊ฐ ๋ฐฉ ๋ชฉ๋ก ์กฐํ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- ์ ํ ์ํ ๊ธฐ๊ณ๋ฅผ ์ด์ฉํ ๊ฒ์ ์งํ ๋ชจ๋ธ๋ง
- ๐ ๋์์ฑ ์ด์๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ LockManager ๋ง๋ค๊ธฐ
- โฐ RxJS๋ก ์ค์๊ฐ ํ์ด๋จธ ๊ตฌ์ถํ๊ธฐ
- ๐ณNext.js์ Docker๋ฅผ ์ฌ์ฉํ ๋น๋ ์ต์ ํํ๊ธฐ
- ๐ข Redis๋ฅผ ํตํ ์ ์ ์จ๋ผ์ธ ์ํ ๊ด๋ฆฌ ์์คํ ๊ตฌํํ๊ธฐ
- openvidu ์๋ฌ ๋๋ฒ๊น ์ ์ํ Docker ๊ฐ๋ฐํ๊ฒฝ ์ค์
๐งํธ๋ฌ๋ธ ์ํ
- NestJS, mkcert CA ์ธ์ฆ์ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ
- openvidu ICE ํ๋ณด ๊ด๋ จ ์ค๋ฅ
- Enterํค ์ด๋ฒคํธ ์ค๋ณต ํธ์ถ ๋ฌธ์
- mutex lock ๋ฌธ์
- ํฌํ ๋์์ ์ง์ ์ค๋ฅ
- openvidu ์ธ์ ์ข ๋ฃ ๋ฉ์๋ ์ค๋ฅ
- ์บ์๋ก ์ธํ ๋ฏธ๋ค์จ์ด ๋ฏธํธ์ถ ๋ฐ ํ์ด์ง ์ ํ ์ค๋ฅ
- ๋คํฌ ๋ชจ๋์์ ํ ์คํธ๊ฐ ๋ณด์ด์ง ์๋ ๋ฌธ์
- ๊ฒ์ ๋ฐฉ์์ ์๋ก๊ณ ์นจ ๋๋ ๋ธ๋ผ์ฐ์ ํญ์ ๋ซ์ ๋์ ์์ธ ์ฒ๋ฆฌ