Skip to content
jeongmin edited this page May 26, 2024 · 15 revisions
logo

๐Ÿ“ ์˜จ๋ผ์ธ PONG ๊ฒŒ์ž„ ์„œ๋น„์Šค

ํ•˜๋‚˜์˜ ํ™”๋ฉด์—์„œ ํ•˜๋‚˜์˜ ํ‚ค๋ณด๋“œ๋กœ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋Š” ๋กœ์ปฌ๋ชจ๋“œ,
์—ฌ๋Ÿฌ PC๋กœ ์ง„ํ–‰ ๊ฐ€๋Šฅํ•œ ์˜จ๋ผ์ธ ๋ชจ๋“œ๋ฅผ ํ†ตํ•ด PONG ๊ฒŒ์ž„์„ ์ฆ๊ธธ ์ˆ˜ ์žˆ์–ด์š”!
(๊ฒŒ์ž„ ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜๋Š” gif ์ถ”๊ฐ€ํ•˜๊ธฐ!)


Dev Log WebSocket Protocol Product Backlog Wiki


โš’๏ธ ๊ธฐ์ˆ  ์Šคํƒ

๋ถ„๋ฅ˜ ๊ธฐ์ˆ 
ํ”„๋ก ํŠธ์—”๋“œ JavaScript Bootstrap Three.js
๋ฐฑ์—”๋“œ / ๊ฒŒ์ž„ Python Django PostgreSQL
๋ฐฐํฌ Docker Nginx
ํ˜‘์—… ๋„๊ตฌ GitHub Discord Notion
๋””์ž์ธ Figma

์—ญํ•  ๋ถ„๋‹ด

ํ”„๋ก ํŠธ์—”๋“œ

์—ญํ•  ํ”„๋ก ํŠธ์—”๋“œ ๋ฐฑ์—”๋“œ ๊ฒŒ์ž„
์ข…์„
  • ์‚ฌ์šฉ์ž ๋Œ€์‹œ๋ณด๋“œ ๋ชจ๋‹ฌ UI ๋ฐ API ์—ฐ๊ฒฐ
    ย ย ย ย ย (ํ†ต๊ณ„ ํƒญ ์ œ์™ธ, Bootstrap ํ™œ์šฉ)
  • 3D ๊ฒŒ์ž„ ๊ทธ๋ž˜ํ”ฝ ๋ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ตฌํ˜„
    ย ย ย ย ย (Three.js ํ™œ์šฉ)
  • ๋กœ์ปฌ ๊ฒŒ์ž„ ์›น์†Œ์ผ“ ์—ฐ๊ฒฐ ๋ฐ ํ†ต์‹ 
  • ๊ฒŒ์ž„ ๊ณ„์‚ฐ ๋กœ์ง, ํŒŒ์›Œ์—…
  • -
  • ๊ฒŒ์ž„ ๊ณ„์‚ฐ ๋กœ์ง
  • ํŒŒ์›Œ์—…
  • ์ง€ํ˜„
  • ํ”ผ๊ทธ๋งˆ ๋””์ž์ธ
  • ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ๊ด€๋ จ UI ๋ฐ API ์—ฐ๊ฒฐ
  • ๊ฒŒ์ž„ ์„ค์ • UI ๋ฐ API ์—ฐ๊ฒฐ
  • ์˜จ๋ผ์ธ ๋Œ€๊ธฐ์‹ค ์›น์†Œ์ผ“ ์—ฐ๊ฒฐ ๋ฐ ํ†ต์‹ 
  • ๋กœ์ปฌ/์˜จ๋ผ์ธ ๊ฒŒ์ž„ ์›น์†Œ์ผ“ ์—ฐ๊ฒฐ ๋ฐ ํ†ต์‹ 
  • ์›น์†Œ์ผ“ ๊ด€๋ฆฌ ๋ฆฌํŒฉํ† ๋ง
  • 42 OAuth ๋กœ๊ทธ์ธ
  • ์œ ์ € ์ •๋ณด ๋ณ€๊ฒฝ API ๊ตฌํ˜„
  • -
    ์ •๋ก 
  • ํ”ผ๊ทธ๋งˆ ๋””์ž์ธ
  • ํžˆ์Šคํ† ๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๊ด€๋ฆฌ
  • ๊ทธ๋ž˜ํ”„ ํ†ต๊ณ„ ๊ตฌํ˜„
    ย ย ย ย ย (๋“์ ์ถ”์ด, ๋“์ ์œ„์น˜, ๋ ˆ์ดํŒ…๋ณ€ํ™”์œจ, ๊ณต๊ฒฉ์„ฑํ–ฅ)
  • UI ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ˜์˜
    • ํ”Œ๋ ˆ์ด/๋งค์น˜ ๋ชจ๋“œ
    • 1๋Œ€1 / ํ† ๋„ˆ๋จผํŠธ ๋งค์น˜ ๊ฒฝ๊ธฐ๊ฒฐ๊ณผ ๋ฐ ์š”์•ฝ
    • ํ† ๋„ˆ๋จผํŠธ ๋Œ€์ง„ํ‘œ
    • ์˜จ๋ผ์ธ ๋ฉ”์ธํ™”๋ฉด ๋ฐ ๋Œ€๊ธฐ์‹ค
    • ์‚ฌ์šฉ์ž ๋Œ€์‹œ๋ณด๋“œ ํ†ต๊ณ„ ํƒญ
    - -

    ๋ฐฑ์—”๋“œ

    ์—ญํ•  ๋ฐฐํฌ ๋ฐฑ์—”๋“œ ๊ฒŒ์ž„
    ์›์„
  • Docker ์„ธํŒ…
  • Nginx ์„ค์ •
  • ํšŒ์›๊ฐ€์ž… ์‹œ ์ด๋ฉ”์ผ ์ธ์ฆ
  • ๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ API ๊ตฌํ˜„
  • ๋Œ€๊ธฐ์‹ค ์›น์†Œ์ผ“ ํ†ต์‹  ๋ฐ API ๊ตฌํ˜„
  • ๋Œ€๊ธฐ์‹ค ์›น์†Œ์ผ“ ๊ทœ์•ฝ ์ •์˜
  • ์›น์†Œ์ผ“ ํ†ต์‹ 
  • ์˜จ๋ผ์ธ 1vs1, ํ† ๋„ˆ๋จผํŠธ ์„ค๊ณ„
  • ์˜จ๋ผ์ธ ์›น์†Œ์ผ“ ๊ทœ์•ฝ ์ •์˜
  • ํŒŒ์›Œ์—…
  • ์ •๋ฏผ
  • ๋ฐฑ์—”๋“œ ๋ผ์šฐํŒ… ๊ทœ์น™ ์ž‘์„ฑ
  • HTTPS/WSS ์ ์šฉ
  • DB ์„ค๊ณ„
  • ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ API ๊ตฌํ˜„
  • ์นœ๊ตฌ ๊ด€๋ จ, ๊ฒŒ์ž„ ๊ธฐ๋ก ๋ฐ ํ†ต๊ณ„ API ๊ตฌํ˜„
  • ๋ ˆ์ดํŒ… ์ ์šฉ
  • ๋กœ์ปฌ 1vs1, ํ† ๋„ˆ๋จผํŠธ ์„ค๊ณ„
  • ๋กœ์ปฌ ์›น์†Œ์ผ“ ๊ทœ์•ฝ ์ •์˜
  • ํ†ต๊ณ„ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
  • ์ฃผ์š” ๊ธฐ๋Šฅ

    ๊ฒŒ์ž„ ์กฐ์ž‘๋ฒ•

    image

    ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ๋Œ€๊ธฐ์‹ค ์ƒ์„ฑ

    ๊ฒŒ์ž„ ๊ธฐ๋ณธ ์„ค์ • ์ปค์Šคํ…€ ์„ค์ •
    image image

    ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ๋Œ€๊ธฐ์‹ค ์ฐธ๊ฐ€

    Screen Shot 2024-05-18 at 10 04 42 PM

    ์‚ฌ์šฉ์ž ๋Œ€์‹œ๋ณด๋“œ

    ๋‚ด ์ •๋ณด, ๊ฒฝ๊ธฐ ๊ธฐ๋ก, ์œ ์ € ๊ฒ€์ƒ‰, ๋‚ด ์นœ๊ตฌ

    user_dashboard.mov

    ํ†ต๊ณ„ ๋ฐ ๊ฒฝ๊ธฐ๊ธฐ๋ก ์ƒ์„ธ

    ํ†ต๊ณ„ ๊ฒฝ๊ธฐ ๊ธฐ๋ก ์ƒ์„ธ
    ํ†ต๊ณ„_ํŽ˜์ด์ง€ ๊ฒฝ๊ธฐ_๊ธฐ๋ก_์ƒ์„ธ_ํŽ˜์ด์ง€

    ๐Ÿ‘ฅ ํŒ€์› ์†Œ๊ฐœ

    jihylim ์ž„์ง€ํ˜„ joyoo ์œ ์ข…์„ jeongrol ์ด์ •๋ก  wonyang ์–‘์›์„ jeongmin ์ด์ •๋ฏผ
    FE / BE FE / GAME FE BE / GAME BE / GAME