Team Members - codestates/Reciper-client GitHub Wiki

โญ๏ธ ๅป“ๅˆฉ็ฒพ็ฅž(๊ณฝ์ด์ •์‹ )

'์„ธ์ƒ์„ ๋„๋ฆฌ ์ด๋กญ๊ฒŒ ๋งŒ๋“ค์ž๋ผ๋Š” ์ •์‹ '์œผ๋กœ ์‚ด์ž๋Š” ์˜๋ฏธ๋กœ ๋งŒ๋“ค์–ด์ง„ ํŒ€๋ช…์œผ๋กœ
์šฐ์—ฐํžˆ ์šฐ๋ฆฌ ํŒ€ ๋ฉค๋ฒ„๋“ค์˜ ์„ฑ๊ณผ ์ผ์น˜ํ–ˆ๊ธฐ์— ๋”์šฑ ์˜๋ฏธ์žˆ๋Š” ํŒ€ ์ด๋ฆ„์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค๐Ÿค—


๐Ÿณ ํŒ€ ๋ฉค๋ฒ„๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค!

๊ณฝ์€์šฑ

  • Role : Team Member
  • Position : Front-End
  • Stack : TypeScript Socket.io React Redux Redux Toolkit Styled Components Axios
  • Works :
    ๐Ÿ’ป Contribution

    Common

    • Common ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘ (Input, Button, Select)
    • ๋กœ๋”ฉ์‹œ ๋กœ๋”ฉ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ตฌํ˜„

    Login(๋กœ๊ทธ์ธ)

    • ์„œ๋ฒ„์—์„œ ๋ฐ›์€ access token์„ local storage์— ์ €์žฅ
    • login์„ ๋น„๋™๊ธฐ ์š”์ฒญ์„ ํ•˜๊ณ  login์„ ๊ฒ€์ฆํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€
    • ๋น„๋กœ๊ทธ์ธ ์œ ์ €๊ฐ€ ํŠน์ • ํŽ˜์ด์ง€ ์ ‘์† ์‹œ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

    Profile(ํ”„๋กœํ•„)

    • ์œ ์ € ์ •๋ณด ์ž…๋ ฅ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„

    Recruit(ํŒ€์›๋ชจ์ง‘)

    • Recruit List
      • ํŒ€์›๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง + ๋ฐ์ดํ„ฐ ์š”์ฒญ ๊ตฌํ˜„
      • Search ํƒœ๊ทธ ๊ฒ€์ƒ‰ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • Recruit ๋ฆฌ์ŠคํŠธ ํ•„ํ„ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • infinite scroll ๊ตฌํ˜„
      • Skeleton Loading ๊ตฌํ˜„
    • Recruit Create
      • ํŒ€์›๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง
      • ๊ฒŒ์‹œ๊ธ€ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • Recruit Detail
      • ํŒ€์›๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ๋‚ด์šฉ ์กฐํšŒ ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง + ๋ฐ์ดํ„ฐ ์š”์ฒญ ๊ตฌํ˜„
      • ๋ฐ์ดํ„ฐํ”ผ์ปค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ๋‚ ์งœ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ๋Œ“๊ธ€ ๋“ฑ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์ƒ์„ธ ์†Œ๊ฐœ ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ๋ถ€๋ถ„ HTML๋กœ ๋ณ€ํ™˜
    • Recruit Delete
      • ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

    Project(ํ”„๋กœ์ ํŠธ)

    • Project List
      • ํ”„๋กœ์ ํŠธ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง + ๋ฐ์ดํ„ฐ ์š”์ฒญ ๊ตฌํ˜„
    • Project Create
      • ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง + ๋ฐ์ดํ„ฐ ์š”์ฒญ ๊ตฌํ˜„
      • project url ์ค‘๋ณต ์ฒดํฌ, ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ํ”„๋กœ์ ํŠธ์— ํŒ€์› ์ดˆ๋Œ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • Project Edit
      • ํ”„๋กœ์ ํŠธ ์ˆ˜์ • ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง + ๋ฐ์ดํ„ฐ ์š”์ฒญ ๊ตฌํ˜„

    Workspace(ํ˜‘์—… ํˆด)

    • WorkSpace ํŽ˜์ด์ง€์— ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘
    • Kanban(์นธ๋ฐ˜๋ณด๋“œ)
      • Kanban ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง
      • task ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง + ์ƒ์„ธ ์ •๋ณด ์ €์žฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • Drag and Drop ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • Socket.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์นธ๋ฐ˜ ๋ฐ์ดํ„ฐ ์‹ค์‹œ๊ฐ„ ์†Œํ†ต ๊ตฌํ˜„
      • ๋‹ค๋ฅธ ์œ ์ €๊ฐ€ task, taskbox ์ž‘์—…์‹œ ํ•ด๋‹น ์•„์ดํ…œ์„ ๋“œ๋ž˜๊ทธ ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ํŒŒํŠธ ์ƒ์„ฑ / ์ˆ˜์ • / ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • Calendar(๋‹ฌ๋ ฅ)
      • Calendar ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง
      • Day.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ๋‹ฌ๋ ฅ ๋ฐ์ดํ„ฐ ๊ตฌํ˜„
      • task bar๋กœ ๋‹ฌ๋ ฅ์— task ํ‘œ์‹œ ๊ตฌํ˜„

์ด์šฐ์„ฑ

  • Role : Team Member
  • Position : Front-End
  • Stack : TypeScript Socket.io React Redux Redux Toolkit Styled Components Axios
  • Works :
    ๐Ÿ’ป Contribution

    Common

    • React ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ดˆ๊ธฐ ์„ธํŒ…
    • Common ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘ (Header, Select Box)
    • axios ์š”์ฒญ์„ util๋กœ ๊ตฌํ˜„
    • ๋กœ๊ณ  ์ œ์ž‘

    Landing(์„œ๋น„์Šค ์†Œ๊ฐœ)

    • Landing ํŽ˜์ด์ง€ ๋””์ž์ธ + ์Šคํƒ€์ผ๋ง
    • ์Šคํฌ๋กค ์œ„์น˜์— ๋”ฐ๋ฅธ ํ—ค๋” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ด๋ฒคํŠธ ๊ตฌํ˜„
    • scroll์— ๋”ฐ๋ฅธ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ตฌํ˜„
    • ๋ฆฌ๋ทฐ ์ƒ์„ธ ๋ณด๊ธฐ modal ๊ตฌํ˜„
    • ๋งจ ์œ„๋กœ ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

    Login(๋กœ๊ทธ์ธ)

    • Login modal ์Šคํƒ€์ผ๋ง
    • ๋กœ๊ทธ์ธํ•  ๋•Œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€, ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ตฌํ˜„
    • ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

    Profile(ํ”„๋กœํ•„)

    • Profile Show
      • ํ”„๋กœํ•„ ์ •๋ณด ์กฐํšŒ ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง
      • ํ”„๋กœํ•„ ๋ Œ๋”๋ง์‹œ ์œ ์ € ๋ฐ์ดํ„ฐ ์กฐํšŒ ๊ตฌํ˜„
    • Profile Edit
      • ํ”„๋กœํ•„ ์ˆ˜์ • ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง
      • ํ”„๋กœํ•„ ์ˆ˜์ •๋ฒ„ํŠผ ๋ˆ„๋ฅธ ํ›„ ์œ ์ € ๋ฐ์ดํ„ฐ ๊ฐฑ์‹  ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

    Workspace(ํ˜‘์—… ํˆด)

    • Chat(์ฑ„ํŒ…)
      • Chat ํŽ˜์ด์ง€ ์Šคํƒ€์ผ๋ง
      • Socket.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ„ํŒ… ์‹ค์‹œ๊ฐ„ ์†Œํ†ต ๊ตฌํ˜„
      • ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€๋ฅผ ์œ ์ €๋ณ„, ๋‚ ์งœ๋ณ„๋กœ ๋ฌถ์–ด์„œ ํ‘œ์‹œ ๊ตฌํ˜„
      • ์ฑ„ํŒ…์ฐฝ์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ํด๋ฆญ์‹œ ํ•ด๋‹น ์œ ์ €์˜ ํ”„๋กœํ•„ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€ ๋“ฑ๋ก / ์ˆ˜์ • / ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • infinite scroll ๊ตฌํ˜„
      • ์ฑ„ํŒ…์ฐฝ์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (๋ฒ„ํŠผ, drag and drop)
      • ์ฑ„ํŒ…๋ฐฉ ์ƒ์„ฑ / ์ˆ˜์ • / ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

์ •์†ก์ด

  • Role : Team Leader
  • Position : Back-End
  • Stack : TypeScript Socket.io Axios Node.js Express.js mySQL typeORM Nodemailer AWS
  • Works :
    ๐Ÿ’ป Contribution

    Bare Minimum

    • express, typescript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๊ตฌ์ถ•
    • router, controller ๋ถ„๋ฅ˜ ๋ฐ ํด๋” ์ •๋ฆฌ
    • typeORM์„ ์‚ฌ์šฉํ•˜์—ฌ mySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•
    • ํ”„๋กœ์ ํŠธ ๋ฌธ์„œํ™” ์ž‘์—…
    • README, WIKI, NOTION
    • API ๋ฌธ์„œ, ์Šคํ‚ค๋งˆ ๋””์ž์ธ

    Deploy(๋ฐฐํฌ)

    • AWS ๋ฐฐํฌ
    • RDS ์„ธํŒ…

    Login(๋กœ๊ทธ์ธ)

    • OAuth ์ธ์ฆ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„(google, github)
    • nodemailer๋กœ ๋ณด๋‚ด๋Š” ์ด๋ฉ”์ผ ๋””์ž์ธ(HTML)
    • access token์œผ๋กœ ์œ ์ € ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋Š” middleware ๊ตฌํ˜„
    • refresh token ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด access token ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

    Profile(ํ”„๋กœํ•„)

    • ํ”„๋กœํ•„ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • profile ๊ด€๋ จ ๊ธฐ๋Šฅ(2๊ฐœ) ์—๋Ÿฌ ์ˆ˜์ • ๋ฐ ์ฝ”๋“œ ๋ณด์™„

    Recruit(ํŒ€์›๋ชจ์ง‘)

    • ํŒ€์›๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ๋‚ด์šฉ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํŒ€์›๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํŠน์ • stack์„ ๊ธฐ์ค€์œผ๋กœ ํŒ€์›๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • recruit ๊ด€๋ จ ๊ธฐ๋Šฅ(8๊ฐœ) ์—๋Ÿฌ ์ˆ˜์ • ๋ฐ ์ฝ”๋“œ ๋ณด์™„

    Project(ํ”„๋กœ์ ํŠธ)

    • ํ”„๋กœ์ ํŠธ ์ •๋ณด, ๋ฉค๋ฒ„ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋Š” middleware ๊ตฌํ˜„
    • ํ”„๋กœ์ ํŠธ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํ”„๋กœ์ ํŠธ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํ”„๋กœ์ ํŠธ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํ”„๋กœ์ ํŠธ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํŒ€์› ์ดˆ๋Œ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํŒ€์› ์ดˆ๋Œ€ ์‘๋‹ต(ํ”„๋กœ์ ํŠธ ์ฐธ๊ฐ€) ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • project ๊ด€๋ จ ๊ธฐ๋Šฅ(7๊ฐœ) ์—๋Ÿฌ ์ˆ˜์ • ๋ฐ ์ฝ”๋“œ ๋ณด์™„

    Workspace(ํ˜‘์—… ํˆด)

    • Chat(์ฑ„ํŒ…)
      • socket.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ„ํŒ… ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ
      • ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€ ์ˆ˜์ •ํ•˜๊ธฐ
      • ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€ ์‚ญ์ œํ•˜๊ธฐ
      • ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€ ๋‚ด์—ญ ์กฐํšŒ
      • multer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ„ํŒ…์—์„œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œํ•˜๊ธฐ
      • ์ฑ„ํŒ…๋ฐฉ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์ƒˆ๋กœ์šด ์ฑ„ํŒ…๋ฐฉ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์ฑ„ํŒ…๋ฐฉ ์ด๋ฆ„ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์ฑ„ํŒ…๋ฐฉ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • chat ๊ด€๋ จ ๊ธฐ๋Šฅ(4๊ฐœ) ์—๋Ÿฌ ์ˆ˜์ • ๋ฐ ์ฝ”๋“œ ๋ณด์™„
    • Kanban(์นธ๋ฐ˜๋ณด๋“œ)
      • ํŒŒํŠธ ๊ด€๋ จ API(route, controller) ์„ธํŒ…
      • kanban ๊ด€๋ จ ๊ธฐ๋Šฅ(4๊ฐœ) ์—๋Ÿฌ ์ˆ˜์ • ๋ฐ ์ฝ”๋“œ ๋ณด์™„
      • socket.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ ์นธ๋ฐ˜๋ณด๋“œ ๊ธฐ๋Šฅ ์—๋Ÿฌ ์ˆ˜์ • ๋ฐ ์ฝ”๋“œ ๋ณด์™„

์‹ ์Šน๊ธธ

  • Role : Team Member
  • Position : Back-End
  • Stack : TypeScript Socket.io Node.js Express.js mySQL typeORM JWT Nodemailer Redis AWS
  • Works :
    ๐Ÿ’ป Contribution

    Bare Minimum

    • express, typescript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๊ตฌ์ถ•
    • typeORM์„ ์‚ฌ์šฉํ•˜์—ฌ mySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•
    • redis์˜ pub/sub์— ๋Œ€ํ•œ ์ดํ•ด์™€ ๊ตฌํ˜„

    Deploy(๋ฐฐํฌ)

    • AWS https ๋ฐฐํฌ ๋ฐ AWS ์•„ํ‚คํ…์ณ ์ „๋ฐ˜์˜ ์ดํ•ด ( CloudFront Cookie ์ด์Šˆ ํ•ด๊ฒฐ )
    • EC2, RDS, ELB, ACM, Route53, CloudFront, S3 ์„ธํŒ…
    • domain(reciper.me) ๊ด€๋ฆฌ
    • ๋ฐฐํฌ ๋‹จ๊ณ„๋ฅผ ์ „์ฒด์ ์œผ๋กœ ๊ด€๋ฆฌ

    Login(๋กœ๊ทธ์ธ)

    • ์ด๋ฉ”์ผ ์ธ์ฆ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (nodeEmailer)
    • access token์œผ๋กœ ์œ ์ € ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋Š” middleware ๊ตฌํ˜„

    Profile(ํ”„๋กœํ•„)

    • ํ”„๋กœํ•„ ์ •๋ณด ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • multer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

    Recruit(ํŒ€์›๋ชจ์ง‘)

    • ํŒ€์›๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํŒ€์›๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํŒ€์›๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๋Œ“๊ธ€ ๋“ฑ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • multer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒŒ์‹œ๊ธ€ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • stack ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํŒ€์›๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€์— ๋Œ€ํ•œ dummy data generator ์ œ์ž‘(ํฌ๋กค๋ง ํฌํ•จ)

    Project(ํ”„๋กœ์ ํŠธ)

    • ํ”„๋กœ์ ํŠธ ์‚ญ์ œ ๊ธฐ๋Šฅ์—์„œ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์™€ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ง€์šฐ๋Š” ์ž‘์—… ๊ตฌํ˜„

    Workspace(ํ˜‘์—… ํˆด)

    • Chat(์ฑ„ํŒ…)
      • socket.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ„ํŒ… ๊ธฐ๋Šฅ ์„ธํŒ…
    • Kanban(์นธ๋ฐ˜๋ณด๋“œ)
      • socket.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์นธ๋ฐ˜๋ณด๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์นธ๋ฐ˜๋ณด๋“œ์˜ ์ „์ฒด ๋ฐ์ดํ„ฐ ์กฐํšŒ
      • task, taskbox ์ƒ์„ฑํ•˜๊ธฐ
      • task, taskbox ์ˆ˜์ •ํ•˜๊ธฐ
      • task, taskbox ์‚ญ์ œํ•˜๊ธฐ
      • task, taskbox ์ž‘์—…์‹œ block ์ฒ˜๋ฆฌํ•˜๊ธฐ
      • task, taskbox drag and drop ์ž‘์—…์‹œ ํ™”๋ฉด์— ๋ฐ”๋กœ ๋ฐ˜์˜ํ•˜๊ธฐ
      • ํŒŒํŠธ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์ƒˆ๋กœ์šด ํŒŒํŠธ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ํŒŒํŠธ ์ด๋ฆ„ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ํŒŒํŠธ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • Webcam(ํ™”์ƒํšŒ์˜)
      • webRTC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™”์ƒํšŒ์˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„
โš ๏ธ **GitHub.com Fallback** โš ๏ธ