tastekim / WeAllLie-BE

๐Ÿ‘€We Are Lie๋Š” ๋ณด๋“œ๊ฒŒ์ž„ '์ŠคํŒŒ์ด ํด' ์„ ๋ชจํ‹ฐ๋ธŒ๋กœํ•œ ํ™”์ƒ์ฑ„ํŒ…์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ์˜จ๋ผ์ธ ๋ณด๋“œ๊ฒŒ์ž„ ํ”Œ๋žซํผ ์ž…๋‹ˆ๋‹ค !(~2022.12.22)
3 stars 4 forks source link
express javascript

๐Ÿฑ์˜จ๋ผ์ธ ํ™”์ƒ์ฑ„ํŒ… ๋ณด๋“œ๊ฒŒ์ž„, We All Lion

600

'We All Lion' ์€ ๋ณด๋“œ๊ฒŒ์ž„ '์ŠคํŒŒ์ด ํด' ์„ ๋ชจํ‹ฐ๋ธŒ๋กœ ๋งŒ๋“  ์˜จ๋ผ์ธ ํ™”์ƒ ์ฑ„ํŒ… ๋ณด๋“œ๊ฒŒ์ž„ ํ”Œ๋žซํผ ์ž…๋‹ˆ๋‹ค.


1. ์†Œ๊ฐœ

๐Ÿ“Notion

๐Ÿ‘‰ 'We All Lion' ๋…ธ์…˜ ์ฃผ์†Œ

๐Ÿ“†๊ธฐ๊ฐ„

๐Ÿ‘จโ€๐Ÿ’ปํŒ€์›

Position ใ€€Nameใ€€ blog Github
BE L ๊น€์—ฐ์„ https://tastekim.notion.site/ https://github.com/tastekim
BE ๊น€ํ˜•์„ https://stone1207.tistory.com/ https://github.com/kimhsno1
BE ์†ก๋ฏผํ˜• https://www.notion.so/Home https://github.com/Minhyeong-S
BE ์ตœ์œค์ง„ https://velog.io/@yunjin5450 https://github.com/yunjin5450
FE VL ๊ฐ•์Šนํ›ˆ https://velog.io/@deepthink https://github.com/seunghoonKang
FE ๋ฐ•ํ•˜์€ https://haro-e.tistory.com/ https://github.com/parkharoi
FE ์ตœ์ง„์˜ https://www.notion.so/yoooooooung/ https://github.com/yoooooooung
Design ์ด์ฃผ์€ https://cloudtraveljournal.tistory.com Gmail : zooni0630@gmail.com


2. ์„œ๋น„์Šค

๐Ÿ‘จโ€๐Ÿซ์„œ๋น„์Šค ์†Œ๊ฐœ

๐Ÿ‘‰ We All Lion ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ฐํŽ˜์ด์ง€ ์†Œ๊ฐœ

๊ฒŒ์ž„์„ค๋ช… & ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋กœ๋น„ ํŽ˜์ด์ง€
์œ ์ € ํ”„๋กœํ•„ ๋ณ€๊ฒฝ ๋ฐฉ ๋งŒ๋“ค๊ธฐ
๋ฐฉ ์ž…์žฅ & ๋Œ€๊ธฐ ํŽ˜์ด์ง€ ๊ฒŒ์ž„์‹œ์ž‘ ํŽ˜์ด์ง€
๊ฒŒ์ž„ํˆฌํ‘œ ํŽ˜์ด์ง€ ๊ฒŒ์ž„์ข…๋ฃŒ ํŽ˜์ด์ง€

๐Ÿ”๊ธฐ๋Šฅ์†Œ๊ฐœ

๊ฒŒ์ž„์„ค๋ช… & ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€

๋กœ๋น„ ํŽ˜์ด์ง€

์œ ์ € ํ”„๋กœํ•„ ๋ณ€๊ฒฝ

๋ฐฉ ๋งŒ๋“ค๊ธฐ

๋ฐฉ ์ž…์žฅ & ๋Œ€๊ธฐ ํŽ˜์ด์ง€

๊ฒŒ์ž„์‹œ์ž‘ ํŽ˜์ด์ง€

๊ฒŒ์ž„ํˆฌํ‘œ ํŽ˜์ด์ง€

๊ฒŒ์ž„์ข…๋ฃŒ ํŽ˜์ด์ง€


3. ๊ตฌ์กฐ

๐Ÿคนโ€โ™‚๏ธ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜


KakaoTalk_20221215_222023461

๐Ÿ“ŠERD

ERD
![erd](https://user-images.githubusercontent.com/113876583/207319448-35612007-56e3-478d-a503-17691fc2bfcd.jpg)

๐Ÿ“ˆํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ

ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ

```markup โ”œโ”€โ”€ Dockerfile โ”œโ”€โ”€ nodemon.json โ”œโ”€โ”€ package-lock.json โ”œโ”€โ”€ package.json โ”œโ”€โ”€ server.js โ”œโ”€โ”€ src โ”‚ย ย  โ”œโ”€โ”€ app.js โ”‚ย ย  โ”œโ”€โ”€ chat โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ chat-socket.js โ”‚ย ย  โ”œโ”€โ”€ game โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ game-provider.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ game-repo.js โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ game-socket.js โ”‚ย ย  โ”œโ”€โ”€ middlewares โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ auth-middleware.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ exception.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ passport โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ index.js โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ kakao-stratege.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ socket-auth-middleware.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ test.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-error-handler.js โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ wrap-async-controller.js โ”‚ย ย  โ”œโ”€โ”€ redis.js โ”‚ย ย  โ”œโ”€โ”€ rooms โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ room-provider.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ room-repo.js โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ room-socket.js โ”‚ย ย  โ”œโ”€โ”€ schemas โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ game.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ index.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ room.js โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ user.js โ”‚ย ย  โ”œโ”€โ”€ socket.js โ”‚ย ย  โ”œโ”€โ”€ users โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-controller.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-repo.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-route.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ user-service.js โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ util โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ jwt.js โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ user-function.js โ”‚ย ย  โ””โ”€โ”€ webRTC โ”‚ย ย  โ””โ”€โ”€ webRTC.js โ”œโ”€โ”€ test โ”‚ย ย  โ”œโ”€โ”€ mockData โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ user-data.js โ”‚ย ย  โ””โ”€โ”€ user-test โ”‚ย ย  โ”œโ”€โ”€ jwt.spec.js โ”‚ย ย  โ”œโ”€โ”€ user-controller.spec.js โ”‚ย ย  โ”œโ”€โ”€ user-function.spec.js โ”‚ย ย  โ”œโ”€โ”€ user-repo.spec.js โ”‚ย ย  โ””โ”€โ”€ user-service.spec.js โ””โ”€โ”€ ์ œ๋ชฉ ์—†๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ.drawio ```

๐Ÿ› ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ 

โ‰๊ธฐ์ˆ ์  ์˜์‚ฌ ๊ฒฐ์ •

ใ€€ใ€€๐Ÿ‘‰ ๊ธฐ์ˆ ์  ์˜์‚ฌ ๊ฒฐ์ •

โšฝํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

ใ€€ใ€€๐Ÿ‘‰ ์นด์นด์˜ค์†Œ์…œ ๋กœ๊ทธ์ธ : ํ”„๋ก ํŠธ๋กœ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ถˆ๊ฐ€

ใ€€ใ€€๐Ÿ‘‰ socket.js ๊ธฐ๋Šฅ๋ณ„ ๋ถ„๋ฆฌ ์ค‘ ์—ฐ๊ฒฐ ์—๋Ÿฌ

ใ€€ใ€€๐Ÿ‘‰ ํŠน์ • ๋ฃธ์œผ๋กœ ์ฑ„ํŒ…๋ฉ”์„ธ์ง€ ์ „๋‹ฌ ๋ถˆ๊ฐ€ (Socket.io)

ใ€€ใ€€๐Ÿ‘‰ docker image๋กœ ์„œ๋ฒ„ ์‹คํ–‰ ์‹œ 'Javascript heap out of memory' ํ˜„์ƒ

ใ€€ใ€€๐Ÿ‘‰ docker์—์„œ openvidu ์„œ๋ฒ„๋ฅผ ํ™œ์šฉํ•œ SFU ๋ฐฉ์‹ ํ…Œ์ŠคํŠธ ์ง„ํ–‰ ๋‚ด์šฉ


4. ๊ธฐํƒ€

๐Ÿ’ปGitHub