Skip to content

Latest commit

ย 

History

History
307 lines (222 loc) ยท 14.8 KB

README.md

File metadata and controls

307 lines (222 loc) ยท 14.8 KB

๐ŸŽŠ SP4 Rolling Project-Team16 ๐ŸŽŠ

์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ : ํ”„๋ก ํŠธ ์—”๋“œ 4๊ธฐ Part2 - 16ํŒ€

๊ฐœ๋ฐœ ๊ธฐ๊ฐ„: 2024.2.24 ~ 3.12

URL: https://sp4-team16-rolling.netlify.app

๐Ÿšฉํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

๐Ÿ’ป ํ˜‘์—… ์ž˜ ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•œ๋‹ค.

  • git๊ณผ GitHub๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•œ๋‹ค.
  • ํŒ€ Repository๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ณต๋™์œผ๋กœ ํ”„๋กœ์ ํŠธ repository๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.
  • issues ๋ฐ PR rulesets์„ ์„ค์ •ํ•˜๊ณ , PR ํ…œํ”Œ๋ฆฟ์„ ์„ค์ •ํ•˜์—ฌ ํŒ€ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์‹œ ํ˜ผ๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.
  • Commit Message ๋ฐฉ์‹, ๊ธฐ์ˆ  ์Šคํƒ, ํšจ์œจ์ ์ธ ์˜์‚ฌ ์†Œํ†ต ๋ฐฉ์‹๋“ฑ์„ ์„ค์ •ํ•˜์—ฌ ์›ํ™œํ•œ ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•œ๋‹ค.

๐ŸŽ–๏ธ ์ตœ์„ ์˜ ํŒ€ ํ”„๋กœ์ ํŠธ ๊ฒฐ๊ณผ๋ฌผ์„ ์™„์„ฑํ•œ๋‹ค.

  • Figma ๋””์ž์ธ ์‹œ์•ˆ๊ณผ ๊ธฐํš ์š”๊ตฌ์‚ฌํ•ญ, API ๋ช…์„ธ๊ฐ€ ์ •๋ฆฌ๋œ ๋ฌธ์„œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • ์š”๊ตฌ์‚ฌํ•ญ์„ ์ด์™ธ์—๋„ ๋””์ž์ธ์ ์œผ๋กœ ๊ฐœ์„ ํ•  ์‚ฌํ•ญ์ด๋‚˜ ๊ธฐ๋Šฅ์ ์œผ๋กœ ์ถ”๊ฐ€ ํ• ๋งŒํ•œ ์‚ฌํ•ญ๋“ค์„ ํŒŒ์•…ํ•˜๊ณ  ๊ตฌํ˜„ํ•œ๋‹ค.
  • ํŒ€์›๋“ค์ด ์ˆ˜ํ–‰ํ•œ PR์— ๋Œ€ํ•˜์—ฌ ์‚ดํŽด๋ณธ ๋’ค, ๋ฌธ์ œ์  ๋ฐ ๊ฐœ์„ ์‚ฌํ•ญ์— ๋Œ€ํ•˜์—ฌ ํ”ผ๋“œ๋ฐฑ์„ ์ง„ํ–‰ํ•˜๊ณ  ํ•ด๋‹น ๋‚ด์šฉ๋“ค์„ ์ฆ‰๊ฐ ๋ฐ˜์˜ํ•œ๋‹ค.

๐ŸŽฏ ์ข‹์€ ๋™๋ฃŒ๋ฅผ ์–ป์–ด๊ฐ€๋ฉฐ ํ•จ๊ป˜ ์„ฑ์žฅํ•œ๋‹ค.

  • ํŒ€ ๋ฏธํŒ… ๋ฐ ์ฝ”์–ด ํƒ€์ž„ ์„ค์ •์„ ํ†ตํ•˜์—ฌ ๊พธ์ค€ํ•œ ์†Œํ†ต์„ ์ง„ํ–‰ํ•œ๋‹ค.
  • ์—ญํ•  ์ˆ˜ํ–‰ ์ค‘ ์–ด๋ ค์šด ์‚ฌํ•ญ ๋ฐœ์ƒ ์‹œ, ํŒ€์›๋“ค์—๊ฒŒ ๋„์›€์„ ์š”์ฒญํ•˜์—ฌ ๋‹คํ•จ๊ป˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ ์„ฑ์žฅํ•œ๋‹ค.

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

๋งํ•˜๊ธฐ ์–ด๋ ค์› ๋˜ ๊ณ ๋ฏผ๋ถ€ํ„ฐ ์‹œ์‹œ์ฝœ์ฝœํ•œ ์•ˆ๋ถ€๊นŒ์ง€ ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ๋ง์„ ๋กค๋งํŽ˜์ดํผ๋ฅผ ํ†ตํ•ด์„œ ๋‚จ๊ฒจ๋ณด์„ธ์š”.

  • ๋กค๋งํŽ˜์ดํผ ๋งŒ๋“ค๊ธฐ ๋กค๋งํŽ˜์ดํผ๋ฅผ ๋งŒ๋“ค๊ณ  ์นœ๊ตฌ๋“ค์„ ์ดˆ๋Œ€ํ•ด ํ‰์†Œ์— ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์ด์•ผ๊ธฐ๋ฅผ ๋‹ด์•„๋ณด์„ธ์š”.

  • ์ž‘์„ฑ ๋ฐฉ์‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— ๋‚ด ๋กค๋งํŽ˜์ดํผ ๋ฐฉ์— ์ปฌ๋Ÿฌ์™€ ์ด๋ฏธ์ง€ ๋ฐฐ๊ฒฝ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์–ด์š”.

  • ์นœ๊ตฌ ์ดˆ๋Œ€ ๋‚˜๋งŒ์˜ ๋กค๋งํŽ˜์ดํผ ๋ฐฉ์„ ๋งŒ๋“ค๊ณ , ์นดํ†ก ๊ณต์œ ํ•˜๊ธฐ ๋งํฌ๋ฅผ ๋ณด๋‚ด ์นœ๊ตฌ๋“ค์„ ์ดˆ๋Œ€ํ•ด์š”.

  • ๋ฉ”์‹œ์ง€ ์“ฐ๊ธฐ ๋ฐฉ์— ์ดˆ๋Œ€๋˜์—ˆ๋‹ค๋ฉด, ํ•˜๊ณ  ์‹ถ์€ ์ด์•ผ๊ธฐ๋ฅผ ๋‚จ๊ฒจ๋ณด์„ธ์š”.

  • ๋ฉ”์‹œ์ง€ ๊พธ๋ฏธ๊ธฐ ์ž‘์„ฑ์ž ์ด๋ฆ„๊ณผ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€๋กœ ํžŒํŠธ๋ฅผ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.

  • ๋ฉ”์‹œ์ง€ ์ฝ๊ธฐ ์นด๋“œ๋ฅผ ํด๋ฆญํ•ด์„œ ๋ฉ”์‹œ์ง€์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•ด์š”.

  • ๋ฆฌ์•ก์…˜ ์นœ๊ตฌ์˜ ๋กค๋งํŽ˜์ดํผ์— ์ด๋ชจ์ง€๋กœ ๊ณต๊ฐํ•ด ์ฃผ์„ธ์š”.

๐Ÿ’กํŒ€์› ์†Œ๊ฐœ


[FE] ๊น€๊ฒฝ์ฃผ


[FE] ์ด์œ ์Šน


[FE] ์ด์ฃผํ˜•


[FE] ์ตœ๋ฏผ์ค€


[FE] ํ•˜ํƒœํ›ˆ

๐Ÿ’ก ๊ธฐ์ˆ  ์Šคํƒ

Front-End

ํ˜‘์—…

๐Ÿ’ก ์—ญํ• ๋ถ„๋‹ด

๐ŸŽพ ํ•˜ํƒœํ›ˆ(ํŒ€์žฅ)

๐Ÿ–ฅ๏ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„ ๋‚ด์šฉ

  • ๋กค๋งํŽ˜์ดํผ ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ๊ฒฝ๋กœ : /post
    • ์ฃผ์š” ๊ธฐ๋Šฅ
      • /post ๊ฒฝ๋กœ๋กœ ์ ‘์†ํ•˜๋Š” ๊ฒฝ์šฐ, ๋กค๋งํŽ˜์ดํผ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํŽ˜์ด์ง€ ๊ตฌํ˜„
      • ์ปฌ๋Ÿฌ-์ด๋ฏธ์ง€ ๊ฐ„ ์Šค์œ„์น˜ ์„ค์ •์— ๋”ฐ๋ผ 4๊ฐ€์ง€์˜ color ๋˜๋Š” 4๊ฐ€์ง€์˜ image ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„
        • 4๊ฐ€์ง€์˜ ์ด๋ฏธ์ง€๋ฅผ ์™ธ๋ถ€ api๋ฅผ ํ†ตํ•ด ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •
      • ์ƒ์„ฑํ•˜๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, ์ƒˆ๋กœ์šด ๋กค๋งํŽ˜์ดํผ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋œ ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€๋กœ ์ด๋™
  • message ์ˆ˜์ •ํ•˜๊ธฐ ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ๊ฒฝ๋กœ : /post/{recipientId}/edit/{messageId}
    • ์ฃผ์š” ๊ธฐ๋Šฅ
      • ๋กค๋งํŽ˜์ดํผ ์ˆ˜์ • ํŽ˜์ด์ง€์—์„œ ๋ฉ”์„ธ์ง€ ์ˆ˜์ •ํ•˜๊ธฐ๋ฅผ ์„ ํƒํ•  ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ฉ”์„ธ์ง€์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ ๊ตฌํ˜„
      • ์ „๋ฐ˜์ ์ธ ๊ธฐ๋Šฅ ๋ฐ ํ™”๋ฉด UI ๊ตฌ์„ฑ์€ '๋กค๋งํŽ˜์ดํผ์— ๋ฉ”์„ธ์ง€ ๋ณด๋‚ด๊ธฐ ํŽ˜์ด์ง€'์™€ ์œ ์‚ฌ
      • ์ˆ˜์ •ํ•˜๋ ค๋Š” ๋ฉ”์„ธ์ง€์˜ ์ˆ˜์ • ์ „ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์™€ ์ˆ˜์ •์ „์˜ ๋ฐ์ดํ„ฐ ์ดํ›„ ์ˆ˜์ • ์ž‘์—…์„ ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ ์„ค์ •
      • ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋งŒ ์ˆ˜์ •๋˜์—ˆ์„ ๊ฒฝ์šฐ PATCH, ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •์ด ๋ฐœ์ƒํ•˜์˜€์„ ๊ฒฝ์šฐ PUT Request๋ฅผ ๋ณด๋‚ด๋„๋ก ์„ค์ •

๐Ÿ”ง ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋‚ด์šฉ

  • API ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • Data๋ฅผ axios ๋ชจ๋“ˆ์„ ํ†ตํ•ด get, post, delete, put, patchํ•˜๋Š” component ์ƒ์„ฑ
    • ์š”๊ตฌ ๊ธฐ๋Šฅ๋ณ„๋กœ POST, GET, POST, PATCH, DELETE ๋ณ„ ์„ธ๋ถ€ Components ์ƒ์„ฑ
    • ๊ฐ ํŽ˜์ด์ง€ ๋ฐ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์‚ฌ์šฉํ•  API ๊ธฐ๋Šฅ์„ ์—ฐ๋™
  • Button ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ๊ธฐ๋Šฅ๋ณ„ ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ
    • POST, DELETE, PUT, PATCH ๋“ฑ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Button ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ
  • Card Modal ๊ตฌํ˜„
    • ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€์—์„œ ์นด๋“œ๋ฅผ ํด๋ฆญํ•˜์˜€์„ ๋•Œ, ํ•ด๋‹น ์นด๋“œ์— ๋Œ€ํ•œ ๋ฉ”์„ธ์ง€ ์ž‘์„ฑ ๋‚ด์šฉ ๋“ฑ์˜ ์ •๋ณด๋ฅผ Modal ํ™”๋ฉด์œผ๋กœ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€์—์„œ ์นด๋“œ๋ฅผ ํด๋ฆญํ•˜์˜€์„ ๊ฒฝ์šฐ, ๊ธฐ์กด์— ์ƒ์„ฑ ๋‚ ์งœ๊ฐ€ ํ‘œ์‹œ๋˜๋˜ ์œ„์น˜์— ๋ฉ”์„ธ์ง€ ์ˆ˜์ •ํ•˜๊ธฐ ๋ฒ„ํŠผ ์ƒ์„ฑ
      • ๋ฉ”์„ธ์ง€ ์ˆ˜์ •ํ•˜๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, ํ•ด๋‹น ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„ธ์ง€ ์ˆ˜์ • ํŽ˜์ด์ง€๋กœ ์ด๋™

๐Ÿช„ ๊ธฐํƒ€ ์ˆ˜ํ–‰ ์‚ฌํ•ญ

  • ์ดˆ๊ธฐ color ๋ณ€์ˆ˜์— ๋Œ€ํ•œ css ๋ณ€์ˆ˜ ์ •์˜
  • Refactoring
    • ๊ณตํ†ต Modal ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ˆ˜์ •
    • ๋‹จ์œ„(px->rem) refactoring ์ง„ํ–‰
    • Size, Color, Font, Option ๋“ฑ ์ƒ์ˆ˜ํ™” ์ž‘์—… ๋ฐ ์ ์šฉ
    • ์ผ๋ถ€ ์ˆ˜์น˜์กฐ์ • ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ • ๋ฐ ๊ฐœ์„ 
    • ์ฝ”๋“œ ์Šคํƒ€์ผ๋ง: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ error ๋ฐ˜ํ™˜ ๋ฐฉ์‹ ํ†ต์ผ
    • ํŒŒ์ผ๋ช… ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ(ํด๋”)๋ช… ํ˜•์‹ ํ†ต์ผ, ์ฝ”๋“œ ํ˜•์‹ ํ†ต์ผ
  • ํŒ€ repository ์ƒ์„ฑ ๋ฐ issues, label ๋“ฑ ์ดˆ๊ธฐ ์„ธํŒ… ์„ค์ •
    • issues ํ•ญ๋ชฉ ์„ค์ •
    • label ์นดํ…Œ๊ณ ๋ฆฌ ์ƒ์„ฑ
  • ํŒ€ ํšŒ์˜ ๊ธฐ๋ก ์ •๋ฆฌ
  • README ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ๋‚ด์šฉ ์ •๋ฆฌ

๐Ÿธ ๊น€๊ฒฝ์ฃผ

๐Ÿ–ฅ๏ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„ ๋‚ด์šฉ

  • ๋กค๋งํŽ˜์ดํผ ๋ชฉ๋ก ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ๊ฒฝ๋กœ: /list
    • ์ฃผ์š” ๊ธฐ๋Šฅ
      • ์ƒ์„ฑ๋œ ๋กค๋งํŽ˜์ดํผ์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ์ธ๊ธฐ์ˆœ, ์ตœ์‹  ์ƒ์„ฑ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ชจ์Šต์œผ๋กœ ํ™”๋ฉด์— ๊ตฌ์„ฑ
      • ์ƒ์„ฑ๋œ ๋กค๋งํŽ˜์ดํผ ์นด๋“œ ๋ชฉ๋ก์—์„œ ์นด๋“œ๋ฅผ ๋ˆ„๋ฅผ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ๋งž๋Š” ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€๋กœ ์ด๋™
      • '๋‚˜๋„ ๋งŒ๋“ค์–ด๋ณด๊ธฐ' ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, ๋กค๋งํŽ˜์ดํผ ์ƒ์„ฑ ํŽ˜์ด์ง€๋กœ ์ด๋™

๐Ÿ”ง ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋‚ด์šฉ

  • ๋กค๋งํŽ˜์ดํผ ์นด๋“œ ๋ชฉ๋ก ์ •๋ ฌ ๋ฐฉ์‹ ๊ตฌํ˜„
    • ์ธ๊ธฐ์ˆœ : emoji(์ด๋ชจ์ง€)๋ฅผ ๋งŽ์ด ๋ฐ›์€ ๋กค๋งํŽ˜์ดํผ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ
    • ์ตœ์‹ ์ˆœ : ์ตœ๊ทผ ์ƒ์„ฑ๋œ ๋กค๋งํŽ˜์ดํผ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ
  • ์นด๋“œ ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„
    • Intersection Observer ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„
  • Mobile, Tablet ํ™˜๊ฒฝ์—์„œ์˜ ํ„ฐ์น˜ ์Šฌ๋ผ์ด๋“œ ๊ตฌํ˜„

๐Ÿช„ ๊ธฐํƒ€ ์ˆ˜ํ–‰ ์‚ฌํ•ญ

  • Refactoring
    • font ์„ค์ •๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋˜ warning์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ refactoring ์ง„ํ–‰

๐ŸŽธ ์ด์œ ์Šน

๐Ÿ–ฅ๏ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„ ๋‚ด์šฉ

  • ๋ฉ”์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ๊ฒฝ๋กœ : /
    • ์ฃผ์š” ๊ธฐ๋Šฅ
      • ์ฒ˜์Œ ์ ‘์† ์‹œ, Rolling ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ๋Œ€๋žต์ ์ธ ๊ฐœ์š” ํ™”๋ฉด ํŽ˜์ด์ง€ ๊ตฌ์„ฑ
      • '๊ตฌ๊ฒฝํ•ด๋ณด๊ธฐ' ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, ๋กค๋งํŽ˜์ดํผ ๋ชฉ๋ก ํŽ˜์ด์ง€๋กœ ์ด๋™

๐Ÿ”ง ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋‚ด์šฉ

  • Header ๊ณต์šฉ ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ
    • Logo ํด๋ฆญ ์‹œ, ๋ฉ”์ธ ํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •
    • '๋‚˜๋„ ๋งŒ๋“ค์–ด๋ณด๊ธฐ' ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, ๋กค๋งํŽ˜์ดํผ ์ƒ์„ฑ ํŽ˜์ด์ง€๋กœ ์ด๋™
    • ๋ฉ”์ธ ํŽ˜์ด์ง€, ๋กค๋งํŽ˜์ดํผ ๋ชฉ๋ก ํŽ˜์ด์ง€๋ฅผ ์ œ์™ธํ•œ ์˜์—ญ์—์„œ๋Š” '๋‚˜๋„ ๋งŒ๋“ค์–ด๋ณด๊ธฐ' ๋ฒ„ํŠผ ์ œ๊ฑฐ
  • Modal ๊ณต์šฉ ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ
  • Kakao ๊ณต์œ ํ•˜๊ธฐ ๊ด€๋ จ Modal ๋ฐ URL ๊ณต์œ  ํ›„ Toast ๊ตฌํ˜„
  • ์ƒ์„ฑ๋œ ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€์˜ ๊ณต์œ  ๋ฒ„ํŠผ ๊ตฌํ˜„
    • SubHeader ์˜์—ญ ๋‚ด์—์„œ ๊ตฌํ˜„
    • ํด๋ฆญ ์‹œ, ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ๊ณผ URL ๋ณต์‚ฌ ๋ชฉ๋ก์ด Dropdown ๋˜๋„๋ก ์„ค์ •
  • ๋กค๋งํŽ˜์ดํผ์— ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•œ ์ž‘์„ฑ์ž๋“ค์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๊ตฌํ˜„

๐Ÿช„ ๊ธฐํƒ€ ์ˆ˜ํ–‰ ์‚ฌํ•ญ

  • ํŒ€ ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œ๋ฅผ ์œ„ํ•œ ๋ฐœํ‘œ์ž๋ฃŒ(ppt) ์ œ์ž‘

๐Ÿ“ ์ด์ฃผํ˜•

๐Ÿ–ฅ๏ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„ ๋‚ด์šฉ

  • ๋กค๋งํŽ˜์ดํผ์— ๋ฉ”์„ธ์ง€ ๋ณด๋‚ด๊ธฐ ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ๊ฒฝ๋กœ: /post/{id}/message
    • ์ฃผ์š” ๊ธฐ๋Šฅ
      • ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€์—์„œ + ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋กค๋งํŽ˜์ดํผ์—๊ฒŒ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ๋ฉ”์„ธ์ง€ ์ž‘์„ฑ ํŽ˜์ด์ง€ ๊ตฌ์„ฑ
      • ํ”„๋กœํ•„ ์ด๋ฏธ์ง€๋ฅผ ์™ธ๋ถ€ api๋ฅผ ํ†ตํ•ด ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •
      • ์ด๋ฆ„, ๊ด€๊ณ„, ํ”„๋กœํ•„ ์ด๋ฏธ์ง€, ๋‚ด์šฉ, ๊ธ€๊ผด ์„ค์ • ํ›„ '์ƒ์„ฑํ•˜๊ธฐ' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฉ”์„ธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๊ณ , ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€๋กœ ์ด๋™

๐Ÿ”ง ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋‚ด์šฉ

  • ์™ธ๋ถ€ ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ๋ฉ”์„ธ์ง€ ๋‚ด์šฉ ์ž‘์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๊ธ€์ž ํฌ๊ธฐ, ์ •๋ ฌ, list ๋“ฑ์˜ ํ˜•ํƒœ ์ ์šฉ ๊ฐ€๋Šฅ
    • ํ•ด๋‹น Editor์—์„œ ์ž‘์„ฑํ•œ ๋‚ด์šฉ์—์„œ HTML ํƒœ๊ทธ๊ฐ€ ํฌํ•จ๋œ ๋‚ด์šฉ์— ๋Œ€ํ•ด, ํƒœ๊ทธ๋งŒ ์ œ๊ฑฐํ•˜์—ฌ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •
  • ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€ ๋‚ด ์นด๋“œ์— ๋ฉ”์„ธ์ง€์—์„œ ์„ค์ •ํ•œ ๊ธ€๊ผด, ์ •๋ ฌ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ๋ฐ˜์˜ ๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •

๐Ÿช„ ๊ธฐํƒ€ ์ˆ˜ํ–‰ ์‚ฌํ•ญ

  • Refactoring
    • font, color ๊ณตํ†ตํ™” ์ž‘์—…
    • Dropdown์„ ์ปดํฌ๋„ŒํŠธํ™” ํ•œ ํ›„ ์ƒ์ดํ•œ ์—ญํ• ์„ ํ•˜๋„๋ก ๊ตฌํ˜„

๐Ÿ‘ ์ตœ๋ฏผ์ค€

๐Ÿ–ฅ๏ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„ ๋‚ด์šฉ

  • ์ƒ์„ฑ๋œ ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ๊ฒฝ๋กœ : /post/{id}
    • ์ฃผ์š” ๊ธฐ๋Šฅ
      • ์‚ฌ์šฉ์ž๊ฐ€ ํ™•์ธํ•˜๊ณ ์žํ•˜๋Š” ๋กค๋งํŽ˜์ดํผ์— ๋Œ€ํ•œ ๋ฉ”์„ธ์ง€ ์ž‘์„ฑ ์ •๋ณด, emoji ์ •๋ณด ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ ๊ตฌ์„ฑ
      • '+' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋กค๋งํŽ˜์ดํผ์— ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • '์ˆ˜์ •ํ•˜๊ธฐ' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๊ฒฝ์šฐ,
      • ์นด๋“œ ํ™”๋ฉด์„ ์•„๋ž˜๋กœ ์Šคํฌ๋กค ํ•  ๊ฒฝ์šฐ, ๋ฌดํ•œ ์Šคํฌ๋กค์„ ํ†ตํ•œ ์ถ”๊ฐ€ ๋ฉ”์„ธ์ง€ ๋ฐ์ดํ„ฐ ํ™•์ธ
  • ์ƒ์„ฑ๋œ ๋กค๋งํŽ˜์ดํผ ์ˆ˜์ • ํŽ˜์ด์ง€
    • ๊ฒฝ๋กœ : /post/{recipientId}/edit/
    • ์ฃผ์š” ๊ธฐ๋Šฅ
      • ํ•ด๋‹น ๋กค๋งํŽ˜์ดํผ์— ๋Œ€ํ•œ ๋ฉ”์„ธ์ง€ ์ˆ˜์ •, ์‚ญ์ œ ๋ฐ ๋กค๋งํŽ˜์ดํผ ์‚ญ์ œ๋ฅผ ๊ตฌํ˜„ํ•œ ํŽ˜์ด์ง€ ๊ตฌ์„ฑ
      • ์นด๋“œ์˜ '์“ฐ๋ ˆ๊ธฐํ†ต' ๋ชจ์–‘์˜ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, ํ•ด๋‹น ๋ฉ”์„ธ์ง€๊ฐ€ ์‚ญ์ œ๋˜๊ณ  ์‚ญ์ œ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™”๋ฉด์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ
      • '๋’ค๋กœ ๊ฐ€๊ธฐ' ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ€๋„๋ก ๊ตฌํ˜„
      • '๋กค๋งํŽ˜์ดํผ ์‚ญ์ œํ•˜๊ธฐ' ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, ํ•ด๋‹น ๋กค๋งํŽ˜์ดํผ๋Š” ์‚ญ์ œ๋˜๊ณ  ๋กค๋งํŽ˜์ดํผ ๋ชฉ๋ก ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋„๋ก ๊ตฌํ˜„

๐Ÿ”ง ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋‚ด์šฉ

  • ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„
    • intersection observer web API ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„
  • ์ด๋ชจํ‹ฐ์ฝ˜ ์ถ”๊ฐ€ ๊ตฌํ˜„
    • ์ถ”๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค ์ธ๊ธฐ์ˆœ์œผ๋กœ ์žฌ์ •๋ ฌ
    • emoji-picker-react ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ
  • ์นด๋“œ ๋ฐ์ดํ„ฐ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„
    • API ์—ฐ๋™
  • ๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€, ๋กค๋งํŽ˜์ดํผ ์ˆ˜์ • ํŽ˜์ด์ง€์˜ ui ๊ตฌํ˜„ ๋ฐ API ์—ฐ๋™
    • ์นด๋“œ ๊ตฌํ˜„
    • sub header ๊ตฌํ˜„
      • ๋ˆ„๊ตฌ์˜ ๋กค๋งํŽ˜์ดํผ์ธ์ง€, ๋ช‡๋ช…์ด ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•˜์˜€๋Š”์ง€, emoji๋Š” ์–ผ๋งˆ๋‚˜ ๋ฐ›์•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด ๊ตฌ์„ฑ
      • emoji ์ถ”๊ฐ€ ๋ฐ ๊ณต์œ ํ•˜๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€
    • ๋ฐฐ๊ฒฝํ™”๋ฉด ๋ณ€๊ฒฝ๋˜๋„๋ก ๊ตฌํ˜„
  • Button ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ๊ธฐ๋Šฅ๋ณ„ ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ

๐Ÿช„ ๊ธฐํƒ€ ์ˆ˜ํ–‰ ์‚ฌํ•ญ

  • ํŒ€ ์ดˆ๊ธฐ ์ปจ๋ฒค์…˜ ์„ธํŒ… ์„ค์ •
    • .eslint.js ์ดˆ๊ธฐ ์„ค์ •
      • Airbnb ๊ธฐ์ค€์œผ๋กœ ์ œ์™ธํ•  rules ์ถ”๊ฐ€
    • .prettierrc ์„ค์ •
  • ํŽ˜์ด์ง€ ๋ณ„ team ์ž‘์—… issue/trouble shooting/refactoring ์‚ฌํ•ญ์— ๊ด€ํ•œ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ

๐Ÿ‘€ ํŽ˜์ด์ง€ preview

ํ™ˆํŽ˜์ด์ง€(main ๋ฐ list ํŽ˜์ด์ง€)

main

๋กค๋งํŽ˜์ดํผ ๋ชฉ๋ก ํŽ˜์ด์ง€

list_shortcut

๋กค๋งํŽ˜์ดํผ ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€

post

๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€

postid

๋กค๋งํŽ˜์ดํผ ์ˆ˜์ • ํŽ˜์ด์ง€

postid_edit(edit)

๋กค๋งํŽ˜์ดํผ ๋ฉ”์„ธ์ง€ ํŽ˜์ด์ง€

postid_message

๋กค๋งํŽ˜์ดํผ ๋ฉ”์„ธ์ง€ ์ˆ˜์ • ํŽ˜์ด์ง€

postid_edit(message_edit

๐ŸŽš๏ธ ๊ธฐ๋Šฅ๋ณ„ preview

์ด๋ชจ์ง€ ์ถ”๊ฐ€, ์ •๋ ฌ

add_emoji

๋ฌดํ•œ ์Šคํฌ๋กค

infinite_scroll

๋กค๋งํŽ˜์ดํผ ๋ฉ”์„ธ์ง€ ์‚ญ์ œ

postid_edit(message_delete)

๋กค๋งํŽ˜์ดํผ ํŽ˜์ด์ง€ ์‚ญ์ œ

postid_edit(page_delete)