Skip to content

100-hours-a-week/10-team-joytas-dao-fe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿช DAO - ์ถ”์–ต์„ ํ–‰์„ฑ์œผ๋กœ ์ €์žฅํ•˜๋‹ค

image

๐Ÿ”– ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๊ฐœ์š”

  • DAO๋Š” ์ถ”์–ต์„ 3D ๋ชจ๋ธ์„ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค๊ณผ ๊ณต์œ ํ•˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์ž…๋‹ˆ๋‹ค.
  • ๋ผ์šด์ง€๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ๋žŒ๋“ค์„ ์ดˆ๋Œ€ํ•˜๊ณ , ๊ทธ ์•ˆ์—์„œ ์ถ”์–ต์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • DAO ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Disquiet ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ ์ธ์› ๋ฐ ๊ธฐ๊ฐ„

  • ๊ฐœ๋ฐœ๊ธฐ๊ฐ„ : 2024-07-23 ~, ํ˜„์žฌ ๊ณ ๋„ํ™” ๋‹จ๊ณ„
  • ๊ฐœ๋ฐœ ์ธ์›
    Back-End Front-End
    ๋ฐ•์ค€์„œ ๊น€์ง€ํ™ ๊น€์œค์ง ๋…ธํ˜„์•„ ๋ฐ•์žฌ์˜

์‚ฌ์šฉ ๊ธฐ์ˆ  ๋ฐ tools

  • React, Typescript, Styled-Components, React-Query, Zustand, WebRTC, Stomp, Three.js

๐Ÿ–ฅ๏ธ ์„œ๋น„์Šค ํ™”๋ฉด

ํ™ˆ

๋กœ๊ทธ์ธ ๋ฉ”์ธ ๋ฉ”๋‰ด ํ”„๋กœํ•„
image image image image

๋ผ์šด์ง€

๋ผ์šด์ง€ ๋ชฉ๋ก ๋ผ์šด์ง€ ์ƒ์„ฑ ๋ผ์šด์ง€ ์ƒ์„ธ
image image image

์˜ค๋ธŒ์ œ

์˜ค๋ธŒ์ œ ์ƒ์„ธ ์˜ค๋ธŒ์ œ ์ƒ์„ฑ ์˜ค๋ธŒ์ œ ์ˆ˜์ • ์˜ค๋ธŒ์ œ ํ†ตํ™” ์˜ค๋ธŒ์ œ ์ฑ„ํŒ…
image image image image image

๊ธฐํƒ€ ๊ธฐ๋Šฅ

์•Œ๋ฆผ ์œ ์ € ๊ฒ€์ƒ‰ ํšŒ์›ํƒˆํ‡ด
image image image

๐Ÿšง ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

๐Ÿงท ์›น ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ฆ๊ฐ€ ์ด์Šˆ


๐Ÿ’ฌ ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ

๐Ÿ‘ฅ ๋…ธํ˜„์•„

ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€์žฅ ํฐ ์–ด๋ ค์›€์€ 3D ๋ชจ๋ธ๊ณผ ์‹ค์‹œ๊ฐ„ ํ†ตํ™” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์—์„œ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•œ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ํŠนํžˆ Three.js๋ฅผ ์‚ฌ์šฉํ•ด ๋ณต์žกํ•œ 3D ๋ชจ๋ธ์„ ๋ Œ๋”๋งํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ตœ๋Œ€ 6.1GB์— ๋„๋‹ฌํ–ˆ๊ณ , ๊ทธ๋กœ ์ธํ•ด ์›น ํŽ˜์ด์ง€๊ฐ€ ๋ฒ„๋ฒ…๊ฑฐ๋ฆฌ๋ฉฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ํฌ๊ฒŒ ์ €ํ•˜๋˜๋Š” ์ƒํ™ฉ์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋Š” ํ”„๋กœ์ ํŠธ์˜ ์„ฑ๋Šฅ๊ณผ ์‚ฌ์šฉ์ž ๋งŒ์กฑ๋„์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ํฐ ๋„์ „์ด์—ˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด 3D ๋ชจ๋ธ์˜ ์ตœ์ ํ™”์™€ ํšจ์œจ์ ์ธ ์ž์› ๊ด€๋ฆฌ๋ฅผ ์ค‘์ ์ ์œผ๋กœ ๊ณ ๋ฏผํ–ˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ €, lazy loading์„ ๋„์ž…ํ•˜์—ฌ 3D ๋ชจ๋ธ์„ ํ•œ ๋ฒˆ์— ๋กœ๋“œํ•˜๋Š” ๋Œ€์‹  ํ•„์š”ํ•  ๋•Œ๋งŒ ๋ถˆ๋Ÿฌ์˜ค๋„๋ก ๊ฐœ์„ ํ–ˆ๊ณ , ๋กœ๋”ฉ ์ค‘์—๋Š” ๋‹ค๋ฅธ UI๋ฅผ ๋จผ์ € ๋ณด์—ฌ์ค˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ƒํƒœ๊ฐ€ ์ž์ฃผ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ปดํฌ๋„ŒํŠธ์— useMemo ํ›…์„ ์ ์šฉํ•ด ๋ถˆํ•„์š”ํ•œ ๋ Œ๋”๋ง์„ ๋ฐฉ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ตœ์ ํ™” ์ž‘์—…์„ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ 500MB ๋‚ด์™ธ๋กœ ์ค„์ด๊ณ , ์›น ํŽ˜์ด์ง€์˜ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
์ €๋Š” ๋ณต์žกํ•œ ๊ธฐ์ˆ  ์Šคํƒ์—์„œ ์„ฑ๋Šฅ ์ตœ์ ํ™”์˜ ์ค‘์š”์„ฑ์„ ๋ฐฐ์› ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ํšจ์œจ์ ์ธ ์ž์› ๊ด€๋ฆฌ์™€ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์„ ์ ๊ทน์ ์œผ๋กœ ์ ์šฉํ•˜๋ฉฐ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณ ๋„ํ™”ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘ฅ ๋ฐ•์žฌ์˜

๊ธฐ์กด์˜ ์ค„๊ธ€ ํ˜•์‹์œผ๋กœ๋งŒ ์ œ๊ณต๋˜๋˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒฝํ—˜์„ ์‹œ๊ฐ์ ์ด๊ณ  ๋ชฐ์ž…๊ฐ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ, ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ณต๊ฐ„์„ ์šฐ์ฃผ๋กœ ์„ค์ •ํ•˜๊ณ  ๊ฒŒ์‹œ๊ธ€์„ ํ–‰์„ฑ์œผ๋กœ ์‹œ๊ฐํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋‹จ์ˆœํ•œ ๋ฆฌ์ŠคํŠธ ํ˜•์‹์—์„œ ๋ฒ—์–ด๋‚˜ 3D ๊ณต๊ฐ„์—์„œ ๊ฒŒ์‹œ๊ธ€์„ ํƒ์ƒ‰ํ•˜๋Š” ์ƒˆ๋กœ์šด ๊ฒฝํ—˜์„ ์ œ๊ณต ํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ, ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‚ด์—์„œ ์‚ฌ์šฉ์ž๋“ค์ด ์ž์œ ๋กญ๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก, ๊ทธ๋ฃน๋ณ„๋กœ ๊ฒŒ์‹œ๊ธ€์„ ๊ตฌ๋ถ„ํ•˜๊ณ  ๋ผ์šด์ง€(์šฐ์ฃผ)์™€ ์˜ค๋ธŒ์ œ(ํ–‰์„ฑ)๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. Stomp์™€ WebRTC๋ฅผ ํ™œ์šฉํ•ด ๊ฐ ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๊ณผ ์Œ์„ฑ ํ†ตํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ฐœ๋ฐœํ•˜์—ฌ, ์‚ฌ์šฉ์ž๋“ค์ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์กฐ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด ํ”„๋กœ์ ํŠธ๋Š” ๋””์Šค์ฝฐ์ด์—‡(IT ์„œ๋น„์Šค ํ”Œ๋žซํผ)์—์„œ ํŠธ๋ Œ๋”ฉ ํ”„๋กœ๋•ํŠธ๋กœ ์„ ์ •๋˜์—ˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋“ค๋กœ๋ถ€ํ„ฐ ์žฌ๋ฏธ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒฝํ—˜์ด๋ผ๋Š” ๊ธ์ •์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์ €๋Š” ์ฐฝ์˜์ ์ธ ์•„์ด๋””์–ด์™€ ๊ธฐ์ˆ ์  ๊ตฌํ˜„์ด ๊ฒฐํ•ฉ๋  ๋•Œ, ์‚ฌ์šฉ์ž์—๊ฒŒ ๋…์ฐฝ์ ์ด๊ณ  ๋งค๋ ฅ์ ์ธ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.
์•ž์œผ๋กœ๋„ ์‚ฌ์šฉ์ž๋“ค์˜ ๋‹ˆ์ฆˆ๋ฅผ ํŒŒ์•…ํ•˜๊ณ , ๊ทธ์— ๋งž๋Š” ์ฐฝ์˜์ ์ธ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages