๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Web_Project

clonecoding_NEWNEEK

๐Ÿฆ” https://youtu.be/zoBAAoKpjZc

โœจ๊นƒํ—™์ฃผ์†Œ : https://github.com/Clone-Coding-Unicorn/Clone-Coding-Unicorn-FE.git

 

GitHub - Clone-Coding-Unicorn/Clone-Coding-Unicorn-FE

Contribute to Clone-Coding-Unicorn/Clone-Coding-Unicorn-FE development by creating an account on GitHub.

github.com

๐Ÿ”ฅํด๋ก ์ฝ”๋”ฉ ํŠธ๋Ÿฌ๋ธ”์ด์Šˆ๐Ÿ”ฅ

โœ…[ SignUp ] ํšŒ์›๊ฐ€์ž…

  1. ์•„์ด๋””, ๋น„๋ฒˆ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์—์„œ ( button ํด๋ฆญ ํ›„ ๋ณด์ด๊ฒŒ ์กฐ์ • / RED ์ธํ’‹์ฐฝ ) X
    • ์ฝ”๋“œ ๋กœ์ง์„ ์กฐ์ •ํ•ด ์ ์šฉํ•˜์ง€ ๋ชปํ•จ
  2. CheckBox ์ž‘๋™ ํ›„ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”
    • ์ฝ”๋“œ ๋กœ์ง์„ ์กฐ์ •ํ•ด ์ ์šฉํ•˜์ง€ ๋ชปํ•จ
    • ํ•„์ˆ˜์‚ฌํ•ญ ๋™์˜ ์„ ํƒ๋˜์–ด์•ผ๋งŒ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”
  3. CheckBox ํด๋ฆญ์ด ์ •ํ™•ํžˆ ์žกํžˆ์ง€ ์•Š๋Š” ๋ถ€๋ถ„
    • ์„ธ๋ฐ€ํ•œ Style ์กฐ์ • ํ•„์š”
  4. ์•ฝ๊ด€๋ณด๊ธฐ ์—ฐ๊ฒฐ
    • ์‹œ๊ฐ„ ๋ถ€์กฑ์„ ์—ฐ๊ฒฐ ๋ชปํ•ด๋‘ 

โœ…[ Login ] ๋กœ๊ทธ์ธ

  1. ์นด์นด์˜ค, ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ์—์„œ ํ† ํฐ๋„ ์ •์ƒ์ ์œผ๋กœ ๋“ค์–ด์˜ค๊ณ  ์—ฐ๋™๋˜๋Š” ๋“ฏํ–ˆ์œผ๋‚˜ ํ™”๋ฉด์ด ํ™ˆ์œผ๋กœ ๋„˜์–ด๊ฐ€์ง€ ์•Š์Œ
  • ์„œ๋ฒ„๋ฅผ token์— ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐํ•ด์•ผ ํ• ์ง€ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ•จ(๋ฐฑ์—”๋“œ๋ถ„๋“ค๊ณผ์˜ ํ˜‘์—…์—์„œ ์–ด๋””๊นŒ์ง€ ์—ฐ๊ฒฐ์ด ๋˜๊ณ  ์—ฐ๊ฒฐ์ด ์•ˆ๋  ์‹œ ๋ฐฑ/ํ”„๋ก  ์ฝ”๋“œ ์ค‘ ์–ด๋–ค ์ชฝ ์ฝ”๋“œ๊ฐ€ ์กฐ์ •๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ธ์ง€ ๋ถ„๋ช…ํ•œ ์›์ธ ํŒŒ์•…์ด ๋ถˆ๋ถ„๋ช…( token์ด ๋“ค์–ด์˜ค๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ณ  ์„ค๋ช…ํ•˜์ง€ ๋ชปํ•œ ๋ถ€๋ถ„ ์•„์‰ฝ) Network์™€ Application ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์ดํ•ด์™€ API ๋กœ์ง ์—ฐ๋™์— ๋Œ€ํ•œ ์ดํ•ด ๋†’์—ฌ์•ผ ํ•  ๊ฒƒ ๊ฐ™์Œ
  1. ๋น„๋ฐ€๋ฒˆํ˜ธ ์žŠ์œผ์…จ๋‚˜์š”? ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ•จ(์‹œ๊ฐ„๋ถ€์กฑ)

โœ…[ MyPage ] ๋งˆ์ดํŽ˜์ด์ง€

  1. ๋๊นŒ์ง€ ์ฝ์—ˆ์Œ/์ข‹์•˜์Šด/์ฃผ๋ฌธ๋‚ด์—ญ ์„ธ๋ถ€ ๊ตฌํ˜„ X
  • ์‹œ๊ฐ„ ๋ถ€์กฑ์œผ๋กœ ์—ฌ๊ธฐ๊นŒ์ง€๋Š” ์† ๋ชป๋Œ
  1. data์—ฐ๋™ ๋ถˆ์•ˆ์ •
  • name๊ณผ email์€ ๊ณ„์† 200์œผ๋กœ ๋„˜์–ด์˜ค๋Š”๋ฐ data๊ฐ€ ์—†๋‹ค๊ณ  ๋–ด์ง€๋งŒ ๋งˆ์ง€๋ง‰์—” ๊ฐ„ํ˜น ์—ฐ๋™๋˜์„œ ๋‚˜ํƒ€๋‚จ. (์ •ํ™•ํžˆ ์›์ธ์„ ๊ทœ๋ช…ํ•˜์ง€๋Š” ๋ชปํ•จ)

โœ…[ Profile ] ํ”„๋กœํ•„ ์„ค์ •

  1. ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ ์šฉ์ด ์•ˆ๋จ
  2. ๊ธฐ๋ณธ data( name, email ๋“ฑ)๋Š” ๊ฐ€๋” ๋“ค์–ด์˜ค๊ธฐ๋„ ํ•˜๊ณ  ์‹œ๋„๋•Œ ๋งˆ๋‹ค ๋‹ค๋ฆ„(๋ถˆ์•ˆ์ •)

๐Ÿ”ฅ ** ์ถ”๊ฐ€์  ํ”„๋ก ํŠธ์—”๋“œ ์ „์ฒด ํŠธ๋Ÿฌ๋ธ” ์ด์Šˆ

  1. ํ•˜๋‹จ footer ์ด๋ฒคํŠธ ์‹œ ๊ฒน์ณ์„œ ๋ณด์ž…๋‹ˆ๋‹ค → ๊ฐ๊ฐ hover ์ด๋ฒคํŠธ๋ฅผ ์ฃผ์–ด์„œ visivility๊ฐ’๊ณผ opacity๋ฅผ ๋ฐ”๊ฟ”์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
  2. invert ๋ชจ๋“œ ์ ์šฉํ•  ์‹œ ์Šคํƒ€์ผ ๋‚ด๋ถ€์—๋งŒ ์ ์šฉ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค → document.documentElement.classList.toggle์„ ์ฃผ์–ด ์ „์—ญ์ ์œผ๋กœ invert ํด๋ž˜์Šค๋ฅผ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
  3. ๊นƒํ—ˆ๋ธŒ์—์„œ PR์„ ํ•œ ํ›„ ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒํŽ˜์ด์ง€์˜ ์Šคํƒ€์ผ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ์Šต๋‹ˆ๋‹ค. → import๋œ bootstrap์Šคํƒ€์ผ์„ ์ง€์šฐ๊ณ  ์Šคํƒ€์ผ์ปดํฌ๋„ŒํŠธ๋กœ ์นด๋“œ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
  4. ์นด๋“œ์˜ ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ์ž ์›๋ณธ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. → max-height๊ฐ’์„ ์ฃผ์–ด ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์ผ์ •ํ™” ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  5. ๋งˆ์ดํŽ˜์ด์ง€, ํ”„๋กœํ•„ ๋ฒ„ํŠผ์ด ํด๋ฆญ์ด ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. → Layout์— ์ ์šฉํ•ด ๋†“์€ display: flex๋ฅผ ์‚ญ์ œ ํ›„ ์ ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  6. ๋”๋ณด๊ธฐ ์‹œ ์นด๋“œ๊ฐ€ ์ถ”๊ฐ€ ๋˜๋Š” ๊ธฐ๋Šฅ x
  7. footer ๋กค๋ง ์ด๋ฒคํŠธ ๋Š๊ธฐ๋Š” ๋ถ€๋ถ„ ํ•ด๊ฒฐ x
  8. ๊ฒ€์ƒ‰๊ธฐ๋Šฅ x

 

ํ”„๋กœ์ ํŠธ ์„ค๋ช…: https://newneek.co/์„ ํ† ๋Œ€๋กœ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ์˜ ๊ธฐ๋Šฅ์„ ๊ทธ๋Œ€๋กœ ๊ตฌํ˜„ํ•ด๋ณธ๋‹ค.

 

โœ…ํ”„๋กœ์ ํŠธ ์‚ฌ์ „ ์ ๊ฒ€ ์‚ฌํ•ญ

๐Ÿ“Œ [BE ๋‚ด๋ถ€ ๋ฏธํŒ… ์‚ฌํ•ญ]

  1. ํ˜‘์—…์„ ์œ„ํ•œ ESLint, Prettier ์„ธํŒ…ํ•˜๊ธฐ- ๋‹ค์‹œ ์ ๊ฒ€ ํ•„์š”ํ•ด๋ณด์ž„
  2. ๋งก์€ ์˜์—ญ - UI ์ง„ํ–‰ > ๊ธฐ๋Šฅ ๋ถ™์ด๊ธฐ
  3. ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜ ์ง€ํ‚ค๊ธฐ
  4. ํšŒ๊ณ  // ์ฝ”๋“œ ๋ณด๋ฉด์„œ ํžˆ์Šคํ† ๋ฆฌ ๊ณต์œ 

๐Ÿ“Œ [BE & FE ๋…ผ์˜ ์‚ฌํ•ญ]

  1. token์˜ ๊ฒฝ์šฐ, header๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ(BE ↔๏ธ FE)ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋…ผ์˜ ์™„๋ฃŒ
  2. HTTPS ๋ฐฐํฌ ํ…Œ์ŠคํŠธ์˜ ๊ฒฝ์šฐ, 1/22(์›”)์— ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋…ผ์˜ ์™„๋ฃŒ
  3. HTTPS ๋ฐฐํฌ ํ…Œ์ŠคํŠธ ์„ฑ๊ณต ์‹œ, refresh token์œผ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋…ผ์˜ ์™„๋ฃŒ

๐Ÿ“Œ [BE ๋ฉ˜ํ† ๋ง ์‚ฌํ•ญ] by ๋ฐ•์šฉํƒœ ๊ธฐ์ˆ  ๋งค๋‹ˆ์ €๋‹˜

  1. Refresh token์œผ๋กœ ํ•˜๋Š”์ง€?token ์ง์ ‘ ๋ฐ›์•„์„œ ์ง„ํ–‰ (good)3 ##์Šคํ”ผ๋„ˆ( ๋กœ๋”ฉ ์ƒํƒœ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋™์•ˆ ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ4 ## ํ”„๋ก ํŠธํ˜‘์—…์˜ ๋””ํ…Œ์ผ ์ฑ™๊ธธ๊ฒƒ5 ## prograssbar ๋ฐฉ๋ฒ•ํฌ์ง€์…˜ ์Šคํ‹ฐํ‚ค ํ™œ์šฉ7 ## View(UI) ์˜ค๋Š˜๊นŒ์ง€8 ## ์ปค๋ฐ‹ ์ชผ๊ฐœ๊ธฐ > ์†Œ๊ทœ๋ชจ PR๋‚ ๋ฆฌ๊ณ  >  ๋ฆฌ๋ทฐ > ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜ ์ง€ํ‚ค๊ธฐ10 ## ๋ณดํ†ต ์ด์ „ ๊ธฐ์ˆ˜ NEWNEEK ๊ตฌํ˜„ ๋‹ค๋“ค ์ˆ˜์›”ํ•˜๊ฒŒ ํ•˜๋”๋ผ.
  2. 9 ## ํšŒ๊ณ  // ์ฝ”๋“œ ๋ณด๋ฉด์„œ ํžˆ์Šคํ† ๋ฆฌ ๊ณต์œ 
  3. UI์งœ๊ณ  >>> ๊ธฐ๋Šฅ ๋ถ™์ด๊ธฐ
  4. 6 ## ๋‹คํฌ๋ชจํฌ ๋ฐฉ๋ฒ• (์‰ฝ๊ฒŒ ํ•ด๊ฒฐ๋จ)
  5. scroll event
  6. ๋ฆฐํŠธ, ํ”„๋ฆฌํ‹ฐ์–ด, ์ฝ”๋“œํฌ๋งทํ„ฐ, ํ•จ์ˆ˜๋ช… ์ปจ๋ฒค์…˜, ์ฝ”๋“œ์ปจ๋ฒค์…˜ ์ •๋ฆฌ
  7. ์–ด๋–ป๊ฒŒ ๋ถ™์ผ์ง€ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ• ๊ฐ€๋Šฅ ๋ชจ์ƒ‰
  8. 2 ## API ์—ฐ๊ฒฐ ํ™•์ธ (# ์›”์š”์ผ ์ „)
  9. token response๋กœ ๋ฐ›๋Š”์ง€?