Skip to content

Latest commit

ย 

History

History
487 lines (392 loc) ยท 38.4 KB

README.md

File metadata and controls

487 lines (392 loc) ยท 38.4 KB

๐ŸŽจ Hobby Together

[์ฒดํ—˜๊ณ„์ •]

๐Ÿ’™ ๊ณ„์ • ID : [email protected]

๐Ÿ”“ ๊ณ„์ • PW : 123123a


1. ๐ŸŽจ HobbyTogether ์„œ๋น„์Šค ์†Œ๊ฐœ

hobbytogether ์ด๋ฏธ์ง€


Hobby Together๋Š” ์‚ฌ๋žŒ๋“ค์ด ํ•จ๊ป˜ ๋ชจ์—ฌ ์ทจ๋ฏธ ์ƒํ™œ์„ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์ด๊ณณ์—์„œ๋Š” ์ทจ๋ฏธ๊ฐ€ ์žˆ๋Š” ์‚ฌ๋žŒ๊ณผ ์ทจ๋ฏธ๋ฅผ ์ฆ๊ธฐ๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ ๋ชจ๋‘ ๋‹ค์–‘ํ•œ ๋ชจ์ž„์„ ํ†ตํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ฒฝํ—˜์„ ์ ‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋กœ์˜ ์ทจ๋ฏธ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์†Œํ†ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


1. ์ทจ๋ฏธ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ํ•จ๊ป˜ ์ฆ๊ธฐ๋Š” ๋ชจ์ž„์˜ ํŽธ๋ฆฌํ•œ ์šด์˜

  • ํ•œ๊ตญํ˜„๋Œ€์ธ๋“ค์€ ๋ฐ”์œ ์ผ์ƒ๊ณผ ์ŠคํŠธ๋ ˆ์Šค๋กœ ์ธํ•ด ์ทจ๋ฏธ ์ƒํ™œ์— ์ถฉ๋ถ„ํ•œ ์‹œ๊ฐ„์„ ํ• ์• ํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. Hobby Together๋Š” ์ด๋Ÿฌํ•œ ์ทจ๋ฏธ ์ƒํ™œ ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์‚ฌ๋žŒ๋“ค์ด ์‰ฝ๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ์ทจ๋ฏธ ์ƒํ™œ์„ ์ฐพ๊ณ , ๊ด€์‹ฌ ์žˆ๋Š” ๋ถ„์•ผ์—์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ํ•จ๊ป˜ ํ™œ๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Hobby Together๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ์ทจ๋ฏธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ , ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค๊ณผ ํ•จ๊ป˜ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”.

2. ๋‹ค์–‘ํ•œ ์ทจ๋ฏธ ๋ถ„์•ผ์˜ ๊ต๋ฅ˜์™€ ์ง€์‹ ๊ณต์œ 

  • ๋ชจ์ž„์˜ ํŠน์ง•์„ ์•Œ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ง„, ๊ธ€, ์ฐธ๊ฐ€ ๋น„์šฉ์„ ํ†ตํ•ด ๋ชจ์ž„์„ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ๋žŒ๋“ค๊ณผ ๋ชจ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ์ž„ ํ›„๊ธฐ์™€ ์ž์‹ ์˜ ์ผ์ƒ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ์‹œ๋ฌผ์„ ์—…๋กœ๋“œ ํ•˜์—ฌ ๋Œ“๊ธ€๊ณผ ์ข‹์•„์š”๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค๊ณผ ์›ํ™œํ•œ ์†Œํ†ต์„ ํ•˜๋ฉฐ ๋‹ค์–‘ํ•œ ์ทจ๋ฏธ ๋ถ„์•ผ์˜ ๊ต๋ฅ˜๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ๋žŒ๋“ค๊ณผ ํŒ”๋กœ์šฐ ํ•˜์—ฌ ์„œ๋กœ์˜ ๋ชจ์ž„ ๊ธ€, ๋ชจ์ž„ ํ›„๊ธฐ ๋“ฑ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. ๋งค๋…„ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋Š” ์šฐ์šธ์ฆ ์˜ˆ๋ฐฉ๊ณผ ๊ฑด๊ฐ•ํ•œ ์ทจ๋ฏธ ์ƒํ™œ

  • ์ฝ”๋น„๋“œ19๋กœ ์ธํ•ด ์šฐ๋ฆฌ๋Š” ๋งŽ์€ ์ œ์•ฝ๊ณผ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌํšŒ์  ๊ฑฐ๋ฆฌ๋‘๊ธฐ์™€ ๋ชจ์ž„ ์ œํ•œ ๋“ฑ์œผ๋กœ ์ธํ•ด ํ˜ผ์ž ์žˆ๋Š” ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚ฌ๊ณ , ํ•จ๊ป˜ ์ทจ๋ฏธ ์ƒํ™œ์„ ์ฆ๊ธฐ๋Š” ์‹œ๊ฐ„๋„ ์ค„์–ด๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ Hobby Together๋Š” ์‚ฌ๋žŒ๋“ค์ด ํ•จ๊ป˜์˜ ๊ฐ€์น˜๋ฅผ ์ฆ๊ธฐ๋ฉฐ ๋‹ค์–‘ํ•œ ์ทจ๋ฏธ ํ™œ๋™์œผ๋กœ ์‹ฌ๋ฆฌ์  ์•ˆ์ •๊ณผ ํ–‰๋ณต๊ฐ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

4. ์‚ฌํšŒ์  ์—ฐ๊ฒฐ๊ณผ ์นœ๋ฐ€๊ฐ ํ˜•์„ฑ

  • ์ทจ๋ฏธ ์ƒํ™œ์„ ํ•จ๊ป˜ ํ•˜๋Š” ๊ฒƒ์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„ , ์ทจ๋ฏธ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ํ•จ๊ป˜ ํ™œ๋™ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ƒˆ๋กœ์šด ์ธ์—ฐ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„์Šทํ•œ ์ทจํ–ฅ์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋“ค๊ณผ์˜ ๊ต๋ฅ˜๋ฅผ ํ†ตํ•ด ์นœ๋ชฉ์„ ๋„๋ชจํ•˜๊ณ  ์†Œํ†ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ํ•จ๊ป˜ํ•˜๋Š” ์ทจ๋ฏธ ์ƒํ™œ์€ ์ŠคํŠธ๋ ˆ์Šค ํ•ด์†Œ์™€ ํ–‰๋ณต๊ฐ ์ฆ์ง„์—๋„ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ์ฆ๊ฑฐ์šด ๊ฒฝํ—˜์„ ์ฒดํ—˜ํ•ด๋ณด์„ธ์š”!

2. ํŒ€ ์†Œ๊ฐœ

๊ถŒ๊ทœ๋ฆฌ ๊น€ํ˜„ํƒœ ์˜คํฅ์‹ ์ •ํ˜œ๋ฏผ
ํŒ€์› ํŒ€์› ํŒ€์žฅ * ํŒ€์›
๐Ÿ”—Gyuuul ๐Ÿ”—hyuntae94 ๐Ÿ”—UngHeung ๐Ÿ”—haileyham

3. ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„

gantt
    title ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„
    dateFormat  YYYY-MM-DD
    section Hobby Together
    ํ”„๋กœ์ ํŠธ ๊ธฐํš       :a1, 2023-06-07, 4d
    ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ       :a1, 2023-06-11, 14d
    ํ”„๋กœ์ ํŠธ ๋ฆฌํŒฉํ† ๋ง     :after a1, 7d

Loading

4. ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

1. ๋ฆฌ์•กํŠธ ์‹ค์ „ ๋Šฅ๋ ฅ ํ–ฅ์ƒ

  • ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๋ฆฌ์•กํŠธ๋ฅผ ์‹ค์ „์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์ต์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ
  • ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์™€ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ , ์‹ค์ œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ
  • ํ•™์Šตํ•œ React์™€ ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹ฑ๊ธ€ ํŽ˜์ด์ง€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ

2. ํ˜‘์—…๊ณผ ์ฝ”๋“œ ํ†ตํ•ฉ

  • GitHub Flow ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์—ฌ ํšจ๊ณผ์ ์ธ ์ฝ”๋“œ ํ†ตํ•ฉ๊ณผ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์ˆ˜ํ–‰
  • Pull Request ๋ฐ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ๋†’์ด๊ณ , ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๋ฉฐ ์•ˆ์ •์ ์ธ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰

3. ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ

  • ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ™์€ ํ˜‘์—… ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒ€์›๋“ค๊ณผ์˜ ํ˜‘์—… ๊ฒฝํ—˜
  • ํŒ€์›๋“ค๊ณผ์˜ ํ˜‘์—…์„ ํ†ตํ•ด ์•ˆ์ •์ ์ด๊ณ  ํšจ์œจ์ ์ธ ๊ฐœ๋ฐœ์„ ์ด๋Œ์–ด๋‚ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ

5. ํ˜‘์—… ๋ฐฉ์‹

5-1. ๋ธŒ๋žœ์น˜ ์ „๋žต : GitHub-Flow

  • ๋‹จ์ˆœํ•˜๊ณ  ์ง๊ด€์ ์ธ ์›Œํฌํ”Œ๋กœ์šฐ : ํŒ€์›๋“ค๊ฐ„์˜ ํ˜‘์—…์„ ์›ํ™œํ•˜๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์‰ฝ๊ณ  ์ง๊ด€์ ์ธ GitHub-Flow ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์žฆ์€ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ ์ž ์ž‘์—…์„ ์ž‘์€ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ณ  ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ์ง€์†์ ์œผ๋กœ ๋จธ์ง€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ํšจ๊ณผ์ ์ธ ํ˜‘์—…๊ณผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ : ํŒ€์›๋“ค ๊ฐ„์˜ ํšจ๊ณผ์ ์ธ ํ˜‘์—…๊ณผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์žฅ๋ คํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ฐ ์ž‘์—…์€ ๋ณ„๋„์˜ ๋ธŒ๋žœ์น˜์—์„œ ์ˆ˜ํ–‰๋˜๊ณ , ๋‹ค๋ฅธ ํŒ€์›๋“ค์˜ ๋ฆฌ๋ทฐ์™€ ํ•จ๊ป˜ ์Šน์ธ์„ ๋ฐ›์€ ํ›„์— ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๋กœ ๋จธ์ง€๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ๋†’์ด๊ณ  ๋ฒ„๊ทธ๋ฅผ ์‚ฌ์ „์— ๋ฐœ๊ฒฌํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์•ˆ์ •์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

5-2. PR ํŒ€์› ์ปจํŽŒ

  • Pull Request(PR)๋Š” ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฆฌ๋ทฐ ๋ฐ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ธฐ ์œ„ํ•ด ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉํ•˜๊ธฐ ์ „ ์ œ์ถœํ•˜์˜€์Šต๋‹ˆ๋‹ค. PR์€ ์ตœ์†Œ 2๋ช… ์ด์ƒ์˜ ํŒ€์›์˜ ์Šน์ธ์„ ๋ฐ›๊ณ , ๋ฉ”์ธ์œผ๋กœ ๋ณ‘ํ•ฉํ•˜๋Š” ๊ณผ์ •์œผ๋กœ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ๋†’์ด๊ณ  ๋ฒ„๊ทธ๋ฅผ ์ค„์ด๋ฉฐ ์ถฉ๋Œ์„ ์˜ˆ๋ฐฉํ•˜์˜€๊ณ , ํŒ€์›๋“ค ๊ฐ„์˜ ํšจ๊ณผ์ ์ธ ์˜์‚ฌ์†Œํ†ต๊ณผ ํ˜‘์—…์„ ๋„๋ชจํ•˜์˜€์Šต๋‹ˆ๋‹ค.

5-3. ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ƒํ™ฉ ๊ด€๋ฆฌ : GitHub-Issues

  • ์›ํ™œํ•œ ํ˜‘์—…์„ ์œ„ํ•˜์—ฌ ํŒ€์›๋“ค์˜ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์˜๊ฒฌ์„ ๊ณต์œ ํ•˜๋ฉฐ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ํ•จ๊ป˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ฒ„๊ทธ, ๊ธฐ๋Šฅ ์š”์ฒญ, ์ž‘์—… ๋“ฑ๊ณผ ๊ฐ™์€ ์ด์Šˆ๋ฅผ ์ถ”์ ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜์˜€๊ณ , ์ด๋ฅผ ํ†ตํ•ด ํŒ€์› ๊ฐ„์˜ ํ”„๋กœ์ ํŠธ์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

TOP ๐Ÿ”ผ

  • ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ค‘ ํŒ€์› ๊ฐ„์˜ ์›ํ™œํ•œ ์†Œํ†ต๊ณผ ํ˜‘์—…์„ ์œ„ํ•˜์—ฌ ์ปค๋ฐ‹, ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

6-1. ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜

6-1-1. ์ปค๋ฐ‹ ์œ ํ˜• ์ง€์ •

Feat: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
Design : CSS, ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ
Docs : ๋ฌธ์„œ ์ˆ˜์ •
Style : ์ฝ”๋“œํฌ๋งท, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ, ๊ฐœํ–‰, ์ฝ”๋“œ ๊ตฌ์กฐ, ํ˜•ํƒœ
Test : ํ…Œ์ŠคํŠธ์ฝ”๋“œ, ๋ฆฌํŒฉํ† ๋ง ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€
Refactor: ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
Fix : ๋ฒ„๊ทธ ๋ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •
Remove : ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์‚ญ์ œ
Chore : ๋นŒ๋“œ ์—…๋ฌด, ํŒจํ‚ค์ง€๋งค๋‹ˆ์ €, ํด๋”ํŠธ๋ฆฌ, ์„ธํŒ… ์ˆ˜์ •
rename: ํŒŒ์ผ๋ช… ํ˜น์€ ํด๋”๋ช… ์ˆ˜์ •, ์œ„์น˜ ์˜ฎ๊ธฐ๊ธฐ
Comment : ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ

6-1-2. ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ์ œ๋ชฉ & ๋ณธ๋ฌธ ๊ตฌ์„ฑ & ์ด์Šˆ ๋ฒˆํ˜ธ

git commit -m "Feat : ํŒ”๋กœ์šฐ ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#24)"

6-2. ์ฝ”๋“œ ์ปจ๋ฒค์…˜

  • ํ”„๋ฆฌํ‹ฐ์–ด ์„ค์ •
{
  "tabWidth": 4,
  "singleQuote": true,
  "semi": true,
  "printWidth": 80,
  "trailingComma": "es5"
}
  • css ์ปจ๋ฒค์…˜
position
display
width
height
margin
padding
border
background
font
๊ธฐํƒ€

TOP ๐Ÿ”ผ

7. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

7-1. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

๋ชจ๋“ˆ๋ช… ์šฉ๋„
ํ”„๋ก ํŠธ์—”๋“œ
๋ฐฑ์—”๋“œ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ ํ”„๋ก ํŠธ์—”๋“œ ์ œ๊ณต API
๋„๊ตฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
ํ˜‘์—… ๋ฐ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ
๋””์ž์ธ
๋ชจ๋“ˆ๋ช… ์šฉ๋„
react-router-dom ํŽ˜์ด์ง€ ๋ผ์šฐํŒ…์„ ์œ„ํ•ด ์‚ฌ์šฉ
axios ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ์œ„ํ•ด ์‚ฌ์šฉ
redux-tookit ์ „์—ญ ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ
styled-components ์Šคํƒ€์ผ ๊ตฌํ˜„์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ
react-slick ์ด๋ฏธ์ง€ ์Šฌ๋ผ์ด๋“œ ๊ตฌํ˜„์„ ์œ„ํ•ด ์‚ฌ์šฉ
react-intersection-observer ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„์„ ์œ„ํ•ด ์‚ฌ์šฉ

TOP ๐Ÿ”ผ


8. ํด๋”๊ตฌ์กฐ

โ”‚README.md
โ”‚package.json
โ”‚package-lock.json
โ”‚.prettierrc.js
โ”‚.gitignore
โ”œโ”€๐Ÿ’ผpublic
โ””โ”€๐Ÿ’ผsrc
    โ”œโ”€๐Ÿ—‚๏ธassets
    โ”‚  โ”œโ”€๐Ÿ“icons
    โ”‚  โ”œโ”€๐Ÿ“images
    โ”‚  โ”‚  โ””โ”€๐Ÿ—‚๏ธcommon
    โ”‚  โ””โ”€๐Ÿ“logo
    โ”œโ”€๐Ÿ—‚๏ธcomponents
    โ”‚  โ”œโ”€๐Ÿ“common
    โ”‚  โ”œโ”€๐Ÿ“date
    โ”‚  โ”œโ”€๐Ÿ“follow
    โ”‚  โ”œโ”€๐Ÿ“footer
    โ”‚  โ”œโ”€๐Ÿ“header
    โ”‚  โ”œโ”€๐Ÿ“likeButton
    โ”‚  โ”œโ”€๐Ÿ“main
    โ”‚  โ”œโ”€๐Ÿ“modal
    โ”‚  โ”œโ”€๐Ÿ“postDetail
    โ”‚  โ”‚  โ”œโ”€๐Ÿ“comments
    โ”‚  โ”‚  โ”œโ”€๐Ÿ“postSideToggle
    โ”‚  โ”‚  โ””โ”€๐Ÿ—‚๏ธutils
    โ”‚  โ”œโ”€๐Ÿ“search
    โ”‚  โ”œโ”€๐Ÿ“slick
    โ”‚  โ”œโ”€๐Ÿ“together
    โ”‚  โ””โ”€๐Ÿ“writebutton
    โ”œโ”€๐Ÿ—‚๏ธlib
    โ”‚  โ”œโ”€๐Ÿ“apis
    โ”‚  โ”‚  โ””โ”€๐Ÿ—‚๏ธconstant
    โ”‚  โ”œโ”€๐Ÿ“utils / validation
    โ”‚  โ”‚  โ””โ”€๐Ÿ—‚๏ธimage
    โ”œโ”€๐Ÿ—‚๏ธpages
    โ”‚   โ”œโ”€๐Ÿ“chat
    โ”‚   โ”œโ”€๐Ÿ“follow
    โ”‚   โ”œโ”€๐Ÿ“home
    โ”‚   โ”œโ”€๐Ÿ“login
    โ”‚   โ”œโ”€๐Ÿ“main
    โ”‚   โ”œโ”€๐Ÿ“post
    โ”‚   โ”œโ”€๐Ÿ“profile
    โ”‚   โ”œโ”€๐Ÿ“signup
    โ”‚   โ”œโ”€๐Ÿ“together
    โ”‚   โ””โ”€๐Ÿ“usersearch
    โ”œโ”€๐Ÿ—‚๏ธroute
    โ””โ”€๐Ÿ—‚๏ธstore
        โ””โ”€๐Ÿ“slices

TOP ๐Ÿ”ผ


9. ์—ญํ•  ๋ถ„๋‹ด

์ด๋ฆ„ ์—ญํ•  ๊ธฐํƒ€
๊ถŒ๊ทœ๋ฆฌ ๊ฒŒ์‹œ๋ฌผ ํŽ˜์ด์ง€ ์ฃผ์ œ์„ ์ •
- ๊ฒŒ์‹œ๋ฌผ ์—…๋กœ๋“œ ํŽ˜์ด์ง€
- ๊ฒŒ์‹œ๋ฌผ ์ˆ˜์ • ํŽ˜์ด์ง€
๊น€ํ˜„ํƒœ ๊ฒŒ์‹œ๋ฌผ ํŽ˜์ด์ง€
- ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํŽ˜์ด์ง€
์œ ์ € ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€
๊ธฐํƒ€
๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„
์ด๋ฏธ์ง€ ์Šฌ๋ผ์ด๋“œ
์˜คํฅ์‹ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ [๋””์ž์ธ]
- ๋กœ๊ทธ์ธ ๋ฉ”์ธ ํŽ˜์ด์ง€ ํ”ผ๊ทธ๋งˆ UI ๋””์ž์ธ
- ์ด๋ฉ”์ผ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ณตํ†ต ๋ ˆ์ด์•„์›ƒ ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘
- ์ด๋ฉ”์ผ ํšŒ์›๊ฐ€์ž… ์Šคํƒ€์ผ ์ดˆ๊ธฐ๊ฐ’ ๋ณ€์ˆ˜ ์„ค์ •
๋ฉ”์ธ ํ”ผ๋“œ ํŽ˜์ด์ง€
ํ”„๋กœํ•„ ํŽ˜์ด์ง€
- ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ํŽ˜์ด์ง€
- ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์ˆ˜์ • ํŽ˜์ด์ง€
- ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ํŽ˜์ด์ง€
Splash ๊ธฐ๋Šฅ
๋ชจ๋‹ฌ ์ƒํƒœ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ
์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
๋”๋ณด๊ธฐ ๊ตฌํ˜„
์ฑ„ํŒ…ํŽ˜์ด์ง€ ๋งˆํฌ์—…
์ •ํ˜œ๋ฏผ ๋ชจ์ž„ ํŽ˜์ด์ง€ Splash ์• ๋‹ˆ๋ฉ”์ด์…˜
- ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€ 404ํŽ˜์ด์ง€ ๋ฐ ๊ฒ€์ƒ‰ ๋ฐฐ๊ฒฝ ๋””์ž์ธ
- ๋ชจ์ž„ ๋“ฑ๋ก ํŽ˜์ด์ง€ [์„ธํŒ…]
- ๋ชจ์ž„ ์ˆ˜์ • ํŽ˜์ด์ง€ GitHub-Flow ํ˜‘์—… ๋ฐฉ์‹ ๊ณต์œ 
- ๋ชจ์ž„ ์ƒ์„ธ ํŽ˜์ด์ง€ GitHub ์ปจ๋ฒค์…˜
ํŒ”๋กœ์šฐ ํ”„๋กœ์ ํŠธ ๊ธฐ์ดˆ ์…‹ํŒ…
- ํŒ”๋กœ์šฐ ๊ธฐ๋Šฅ Readme
- ํŒ”๋กœ์ž‰ ๋ชฉ๋ก ํŽ˜์ด์ง€
- ํŒ”๋กœ์›Œ ๋ชฉ๋ก ํŽ˜์ด์ง€
๊ณตํ†ต ๋ผ์šฐํ„ฐ ๋ฐ ํŽ˜์ด์ง€ ๊ฒฝ๋กœ ๊ด€๋ฆฌ

TOP ๐Ÿ”ผ


10. ๊ธฐ๋Šฅ ์‹œํ˜„

Splash ํšŒ์›๊ฐ€์ž…1 ํšŒ์›๊ฐ€์ž…2
๋กœ๊ทธ์ธ ๋กœ๊ทธ์•„์›ƒ ํ™ˆํ”ผ๋“œ
๋‚ด ํ”„๋กœํ•„ ์ƒ๋Œ€ ํ”„๋กœํ•„ ๊ฒ€์ƒ‰
๋งž์ถคํ˜• ํ”ผ๋“œ ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ
๊ฒŒ์‹œ๊ธ€์ˆ˜์ • ๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€ ๊ฒŒ์‹œ๊ธ€,๋Œ“๊ธ€ ์‚ญ์ œ
๊ฒŒ์‹œ๊ธ€์‹ ๊ณ  ํŒ”๋กœ์ž‰ ํŒ”๋กœ์ž‰ ๋ชฉ๋ก
๋ชจ์ž„ ๋ชฉ๋ก ๋ชจ์ž„ ๋“ฑ๋ก ๋ชจ์ž„ ์ƒ์„ธ
๋ชจ์ž„ ์ˆ˜์ • ๋ชจ์ž„ ์‚ญ์ œ ํฌ์ŠคํŠธ ์—†์Œ
๋ฌดํ•œ ์Šคํฌ๋กค ์ฑ„ํŒ… ๋กœ๋”ฉ

TOP ๐Ÿ”ผ


11. ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

11-1. ์ „์ฒด ๋ ˆ์ด์•„์›ƒ๊ณผ ๋ชจ๋‹ฌ, ์ƒํƒœ๊ด€๋ฆฌ(๊นƒํ—™)

๊ฐœ๋ฐœ ์ดˆ๊ธฐ์— ๊ณตํ†ต ๋ ˆ์ด์•„์›ƒ์„ ์„ค์ •ํ•˜๊ณ  ๋ชจ๋‹ฌ๊ณผ ๋กœ๊ทธ์ธ ์œ ์ € ์ •๋ณด ๋“ฑ๊ณผ ๊ฐ™์ด ์ „์—ญ์—์„œ ์‚ฌ์šฉํ•  ์ •๋ณด๋“ค์„ ํ•œ ๊ณณ์—์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ชจ๋‹ฌ์€ ๋ฆฌ๋•์Šค๋กœ ๊ด€๋ฆฌํ•˜์˜€๊ณ , ํ•„์š”ํ•œ ํŽ˜์ด์ง€์—์„œ ์ •๋ณด๋ฅผ ์—…๋กœ๋“œํ•˜์—ฌ์„œ ๋ ˆ์ด์•„์›ƒ์— ์žˆ๋Š” ๋ชจ๋‹ฌ์— ์ •๋ณด๋ฅผ ๋‹ด์•„ ๋ณด์—ฌ์ง€๊ฑฐ๋‚˜ ๊ฐ์ถœ ์ˆ˜ ์žˆ๋„๋ก ์ œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ํŽ˜์ด์ง€๊ฐ€ ํ•˜๋‚˜์˜ ๋ ˆ์ด์•„์›ƒ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋จ์œผ๋กœ์จ ๋งˆํฌ์—…, ์Šคํƒ€์ผ ์ฝ”๋“œ๋Ÿ‰์„ ์ค„์ด๊ณ , ์ž‘์—…๊ณต๊ฐ„์˜ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜์—ฌ์„œ ์ƒํƒœ๊ด€๋ฆฌ ์ถฉ๋Œ์„ ์ตœ์†Œํ™”ํ•˜์˜€์œผ๋ฉฐ, ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž…์„ ์ œ์™ธํ•œ ํŽ˜์ด์ง€์— ์ ‘๊ทผ์„ ์‰ฝ๊ฒŒ ๋ง‰์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

11-2. ์ด๋ฏธ์ง€ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ

๊ธฐ์กด์— ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒํ• ๋•Œ ์ด๋ฏธ์ง€๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ๊ทธ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์™€ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์˜€์ง€๋งŒ ํŒŒ์ผ์„ ๋ฐ”๊ฟ€ ๋•Œ๋งˆ๋‹ค ์ด๋ฏธ์ง€๋ฅผ ์„œ๋ฒ„์— ์˜ฌ๋ฆฌ์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ์œ„ํ•ด ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ฃผ์†Œ๋ฅผ ๋ฐ˜๋‚ฉํ•ด์ฃผ๋Š” URL.createObjectURL๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์„œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ‘œ์‹œํ•จ์œผ๋กœ์จ ์ตœ์ข… ๋“ฑ๋กํ•  ๋•Œ๋งŒ ์‚ฌ์ง„์„ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

11-3. ๋ชฉ๋ก์„ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ

์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ๋”๋ณด๊ธฐ, ๋ฌดํ•œ ์Šคํฌ๋กค ๋“ฑ์œผ๋กœ ๋‹ค์Œ ๋ชฉ๋ก์„ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ๋งˆ๋‹ค ๋ชฉ๋ก์„ ๋ชจ๋‘ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๊ณ  ์ƒํƒœ์— ๊ธฐ์กด ๋ชฉ๋ก์„ ์ €์žฅํ•˜๊ณ  ํ•„์š”ํ•œ ๋งŒํผ์˜ ๋ชฉ๋ก๋งŒ ์š”์ฒญํ•ด์„œ ๋ฐ›์•„์™€ ๊ธฐ์กด ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

11-4. ํ”„๋กœํ•„์„ ๋ˆŒ๋Ÿฌ ํ•ด๋‹น ์œ ์ €์˜ ํ”„๋กœํ•„์„ ํ™•์ธ ์‹œ

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

11-5. 504 ์˜ค๋ฅ˜

ํ•˜์ดํผํ…์ŠคํŠธ ์ „์†ก ํ”„๋กœํ† ์ฝœ (HTTP) 504 Gateway Timeout ์„œ๋ฒ„ ์—๋Ÿฌ ์‘๋‹ต ์ฝ”๋“œ๋Š” ์„œ๋ฒ„๊ฐ€ ๊ฒŒ์ดํŠธ์›จ์ด ํ˜น์€ ํ”„๋ก์‹œ์˜ ์—ญํ• ์„ ํ•˜๋Š” ๋™์•ˆ ์‹œ๊ฐ„ ์•ˆ์— ์—…์ŠคํŠธ๋ฆผ ์„œ๋ฒ„(upstream server)๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋งˆ์น˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์‘๋‹ต๋ฅผ ๋ฐ›์ง€ ๋ชปํ–ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ„. ๋“ฑ๋ก ๋ฒ„ํŠผ 1๋ฒˆ์งธ ๋ˆŒ๋ €์„ ๊ฒฝ์šฐ : 504 ์˜ค๋ฅ˜, ๋“ฑ๋ก ๋ฒ„ํŠผ 2๋ฒˆ์งธ ๋ˆŒ๋ €์„ ๊ฒฝ์šฐ : ์ •์ƒ์œผ๋กœ ์„œ๋ฒ„ ์‘๋‹ต ๋ฐ›์Œ. ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด๋„ ๋ถ€์กฑ์œผ๋กœ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. 504 ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด API ํ˜ธ์ถœ์„ 2๋ฒˆ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ์ง€์—ฐ์œผ๋กœ ์ธํ•œ 504 ์˜ค๋ฅ˜๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ •์ƒ์ ์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


12. ์˜ˆ์ • ๋ฆฌํŒฉํ† ๋ง ๋‚ด์šฉ

๋ฆฌํŒฉํ† ๋ง ์˜ˆ์ • ๊ณ„ํš
axios ์ด์Šˆ Interceptor๋ฅผ ํ™œ์šฉ axios ์š”์ฒญ ์ „ํ›„ ํŠน์ • ์ž‘์—… ์ˆ˜ํ–‰
ํ†ต์‹  ์ด์Šˆ ํ†ต์‹ ํ•  ๋•Œ ์ถ”๊ฐ€ ํ†ต์‹  ๋ฐฉ์ง€
์ด๋ฏธ์ง€ ์ตœ์ ํ™” browser-image-compression ์—…๋กœ๋”ฉ ์ด๋ฏธ์ง€ ์••์ถ•
์ด๋ฏธ์ง€ ์ˆ˜์ • ๋ฆฌ๋•์Šค ํˆดํ‚ท ๋‚จ์šฉ ์ฝ”๋“œ ์ˆ˜์ •
์‹œ๋ฉ˜ํ‹ฑ ๋งˆํฌ์—… ์‹œ๋ฉ˜ํ‹ฑํ•œ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•œ ๋งˆํฌ์—…์œผ๋กœ ๋ณ€๊ฒฝ ์˜ˆ์ •
ํด๋”์ •๋ฆฌ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ๋ณ„ ํด๋” ํŠธ๋ฆฌ ์ •๋ฆฌ
์Šคํƒ€์ผ ์ „์ฒด์ ์ธ ๋””์ž์ธ ํ†ต์ผ์„ฑ ๋ถ€์—ฌ

TOP ๐Ÿ”ผ