๐ก BE ๊ธฐ์ ์ ํ ์ด์ - boostcampwm-2024/web17-juchumjuchum GitHub Wiki
๋ถ์ผ |
์์ฑ์ |
์์ฑ์ผ |
BE |
๊น์ฑํ |
24๋
12์ 02์ผ |
๊ตฌ์กฐํ๋ ๊ฐ๋ฐ ํ๊ฒฝ
- NestJS๋ ๋ชจ๋ํ์ ์์กด์ฑ ์ฃผ์
(DI)์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ์ฌ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค. ํ ํ์
์ ์ฝ๋์ ์ ์ง๋ณด์์ ํ์ฅ์ด ์ฉ์ดํ๋ค๋ ์ ์ด ํฐ ์ฅ์ ์ด๋ค.
ํ์
์คํฌ๋ฆฝํธ ๊ธฐ๋ณธ ์ง์
- NestJS๋ ํ์
์คํฌ๋ฆฝํธ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์ด, ์ ์ ํ์
๊ฒ์ฌ๋ฅผ ํตํด ์์ ์ ์ธ ์ฝ๋ ์์ฑ์ ์ง์ํ๋ค.
- ์ํธ๊ฐ์ ๋ฆฌ๋ทฐ๋ฅผ ์ํํ๊ฒ ์งํํ๊ณ , FE์ BE๊ฐ์ ๋จ์ ์ด ์๋ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ์งํํ ์ ์๊ฒ ํ์
์คํฌ๋ฆฝํธ๋ฅผ ์ฑํํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถ์ํ
- TypeORM์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋
๋ฆฝ์ฑ์ ๋ณด์ฅํ ์ ์์ด, MySQL๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ DB๋ก์ ์ ํ๋ ์์ํ๋ค.
์๋ ๋ง์ด๊ทธ๋ ์ด์
- ์ํฐํฐ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ , ๋ณ๊ฒฝ ์ฌํญ์ ์๋์ผ๋ก ๋ฐ์ํ ์ ์๋ ๋ง์ด๊ทธ๋ ์ด์
๊ธฐ๋ฅ์ด ์์ด ๊ฐ๋ฐ ์๋๋ฅผ ๋์ผ ์ ์์๋ค.
๋ฐ์ฝ๋ ์ดํฐ
NestJS
์์ ํตํฉ์ด ์ฉ์ดํ๋ฉฐ, ๋ฐ์ฝ๋ ์ดํฐ ๊ธฐ๋ฐ์ ๊ฐ๋ฐ ๋ฐฉ์์ผ๋ก ์ฝ๋ ๊ฐ๋
์ฑ์ด ํฌ๊ฒ ํฅ์๋๋ค.
์ค์๊ฐ ์๋ฐฉํฅ ํต์
Socket.IO
๋ฅผ ์ฌ์ฉํ์ฌ ์ค์๊ฐ ์ฑํ
๋ฐ ์๋ฆผ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค.
- WebSocket๊ณผ ํด๋ฐฑ ๋ฉ์ปค๋์ฆ์ ์ง์ํด ๋ค์ํ ํ๊ฒฝ์์ ์์ ์ ์ธ ํต์ ์ด ๊ฐ๋ฅํ๋ค.
์ฑ๋ ๋ฐ ๋ฃธ ๊ธฐ๋ฅ
- ์ฌ๋ฌ ์ฌ์ฉ์ ๊ทธ๋ฃน์ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ ์ ์๋ ๋ฃธ ๊ธฐ๋ฅ์ด ์์ด, ์ฑํ
๋ฐฉ๊ณผ ๊ฐ์ ๋ฉํฐ๋ฃธ ๊ตฌ์กฐ ๊ตฌํ์ด ์ฉ์ดํ๋ค.
- ์ฃผ์๋ง๋ค ์ฑํ
๋ฐฉ์ ๊ตฌํํด์ผ ํ๋ ์๋น์ค์์๋ ํ์์ด๋ค.
WebSocket
์ธ๋ถ ์๋น์ค์์ ์์กด์ฑ
- ํ๊ตญํฌ์์ฆ๊ถ api๋ฅผ ํ
์คํธํด๋ณธ ๊ฒฐ๊ณผ
socket.IO
๋ ์ ๋๋ก ์ง์ํ์ง ์๊ณ , Websocket์ ๋ํด์๋ง ์ ์์ ์ผ๋ก ์ง์ํ๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.