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

BODYLIKE ๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž… ์ฐฝ ๊ตฌํ˜„

by ์€์ง€:) 2022. 8. 26.
728x90
๋ฐ˜์‘ํ˜•

 

 

 

๐Ÿ‘† ๋กœ๊ทธ์ธ-ํšŒ์›๊ฐ€์ž… ๊ตฌํ˜„ ์›€์งค 

 

 

 

BODYLIKE Project

 

 

 

 

์ด 5๋ช…์ด์„œ ๊ตฌ์„ฑ๋œ Team coner ( FE : 3, BE : 2 )์—์„œ

2์ฃผ๊ฐ„ ์˜ค๋กœ์ง€ ํ•™์Šต์šฉ์œผ๋กœ bodylike๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ

๊ทธ ์ค‘ ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… ์ฐฝ / ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„์„ ๋งก์€ ๊ธฐ๋ก์„ ์ ์Šต๋‹ˆ๋‹ค.

 

๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž… ์ฐฝ

 

 

 

 

 


 

 

 

๊ตฌํ˜„ํ•œ ๊ธฐ๋Šฅ

 

 

 

  • ๋กœ๊ทธ์ธ์ฐฝ์—์„œ ํšŒ์›๊ฐ€์ž… ๋ฒ„ํŠผ ๋ˆ„๋ฅผ์‹œ ํšŒ์›๊ฐ€์ž… ์ฐฝ์œผ๋กœ ๋„˜์–ด๊ฐ
  • ํšŒ์›๊ฐ€์ž…์ฐฝ/ ๋กœ๊ทธ์ธ์ฐฝ์—์„œ ์•„์ด๋”” ์ฐฝ '@', 5๊ธ€์ž && ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐฝ 5๊ธ€์ž ์ด์ƒ ์ž…๋ ฅ์‹œ ํšŒ์›๊ฐ€์ž… ๋ฒ„ํŠผ ํ™œ์„ฑํ™” (๋น„๋ฐ€๋ฒˆํ˜ธ ์˜๋ฌธ ์†Œ๋Œ€๋ฌธ์ž ์—†์„ ์‹œ ์•Œ๋ฆผ์ฐฝ ๋œธ)
  • ๋กœ๊ทธ์ธ์ฐฝ์—์„œ id, pw ๊ธฐ์ž… ํ›„ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ๋ˆ„๋ฅผ ์‹œ ์„œ๋ฒ„์™€ ํ†ต์‹  ํ›„ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์— ํ† ํฐ ๋ฐœ๊ธ‰, ๋ฉ”์ธ์ฐฝ์œผ๋กœ ๋„˜์–ด๊ฐ
  • ์™ผ์ธก ์ƒ๋‹จ ๋กœ๊ณ  ํด๋ฆญ์‹œ ๋ฉ”์ธ์œผ๋กœ ์ด๋™

 

 

 


 

 

 

 

๋กœ๊ทธ์ธ์ฐฝ / ํšŒ์›๊ฐ€์ž…์ฐฝ์€ ๋ ˆ์ด์•„์›ƒ์€ ๊ฑฐ์˜ ๋น„์Šทํ•˜๋‹ค

 

ํฐ ์‚ฌ์ง„์ด ์™ผ์ชฝ์— ์œ„์น˜ํ•˜๊ณ  

์ธํ’‹ 2๊ฐœ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊นŒ์ง€!

 

(์‚ฌ์‹ค ์ฒ˜์Œ์— ํšŒ์›๊ฐ€์ž…์ฐฝ์— ์ด๋ฆ„ ์ธํ’‹๊นŒ์ง€ ๋งŒ๋“ค์—ˆ๋‹ค๊ฐ€ ๋ฐ์ดํ„ฐ ๋“ค์–ด์˜ค๋Š” ๊ฒƒ์ด ์—†๋‹ค๋Š” ๋ฐฑ์—”๋“œ ์ธก๊ณผ์˜ ์†Œํ†ต ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์—†์•ด๋‹ค)

 

 

 

๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž… ์ฐฝ์˜ ๋‹ค๋ฅธ ์ ์€

 

 

์™ผ์ชฝ ์‚ฌ์ง„

๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž… title

ํšŒ์›๊ฐ€์ž… ๋ฒ„ํŠผ/ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ

 

 

์ •๋„์˜€๋Š”๋ฐ

๋กœ๊ทธ์ธ ํšŒ์› ๊ฐ€์ž… ์ฐฝ ๋‘˜ ๋‹ค 'ํšŒ์›๊ฐ€์ž… ํ•˜๊ธฐ' ๋ฒ„ํŠผ์ด ์žˆ์ง€๋งŒ ๊ธฐ๋Šฅ์€ ๋‹ค๋ฅด๋‹ค

 

๋กœ๊ทธ์ธ ์ฐฝ์˜ ํšŒ์›๊ฐ€์ž… ๋ฒ„ํŠผ์€ ํšŒ์›๊ฐ€์ž… ์ฐฝ์œผ๋กœ ๊ฐ€๋Š” ๋ฒ„ํŠผ์ด๊ณ 

ํšŒ์›๊ฐ€์ž… ์ฐฝ์˜ ํšŒ์›๊ฐ€์ž… ๋ฒ„ํŠผ์€ ์œ ์ €์˜ ์ •๋ณด๋ฅผ ๋ฐ›์•„ ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•˜๋Š”,  ์ •๋ง 'ํšŒ์›๊ฐ€์ž…์„ ์œ„ํ•œ ๋ฒ„ํŠผ' ์ด๋‹ค

 

 

 

 

๋กœ๊ทธ์ธ ์ฐฝ / ํšŒ์› ๊ฐ€์ž…์€ ์ด ๋‘ ๊ฐœ์˜ js ํŒŒ์ผ๋กœ ๋งŒ๋“ค์—ˆ๊ณ  (scss ์ œ์™ธ)

์ด login.js ํŒŒ์ผ์—” ๊ฐ™์€ html ์•ˆ์—์„œ location์„ ์จ ๋‹ค๋ฅธ url์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค

 

LOGIN_DATA/ SIGNUP_DATA๋ฅผ ์ƒ์ˆ˜ ๋ฐ์ดํ„ฐ๋กœ ๋งŒ๋“ค์–ด ํŽ˜์ด์ง€๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๊ฐ๊ฐ ๊ฐ์ฒด์— ๋‹ด๊ธด ๊ฐ’์„ ๋ณด์ด๊ฒŒ๋” ํ–ˆ๊ณ 

ํ•œ ๋ฒ„ํŠผ์— ๊ฐ๊ฐ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์ด ๋“ค์–ด๊ฐ€์•ผ ํ•˜๋ฏ€๋กœ ์ด๋ฅผ isSelectLogin ์— ๋‹ด์•„ User.js์— ๋„˜๊ฒจ์ฃผ์—ˆ๋‹ค

 

 

 

๐Ÿ‘† User.js ๊ฐ€ ๋ฐ›์€ ํ˜•ํƒœ

 

title, btnText, img ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋‹ค์‹œ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น์„ ํ•ด์ฃผ์—ˆ๋‹ค

 

 

 

 

 

 

๋‹ค๋ฅธ ํŒŒ์ผ์€ User.js ๋ผ๋Š” ํŒŒ์ผ์ธ๋ฐ html ๊ณผ ๊ฐ๊ฐ input ๊ณผ ๋ฒ„ํŠผ์ด ๊ฐ€์ง„ ๊ธฐ๋Šฅ์„ ๋‹ด์•˜๋‹ค

 

Fetch ํ•จ์ˆ˜๋ฅผ ์จ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ณ 

๋กœ๊ทธ์ธํ•˜๋Š” ๋ฒ„ํŠผ (์„œ๋ฒ„์—๊ฒŒ Input ๊ฐ’์„ ๋ณด๋‚ด์–ด ํšŒ์› ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๊ณ  ์ผ์น˜ํ•˜๋‹ค๋ฉด ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•ด ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์— ๋„ฃ๊ฒŒ ํ•จ)๊ณผ 

ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๋ฒ„ํŠผ (์„œ๋ฒ„์—๊ฒŒ input ๊ฐ’์„ ๋ณด๋‚ด์–ด JWT๋ฅผ ์ด์šฉํ•ด ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•˜๊ฒŒ ํ•จ) ์„ ํŽ˜์ด์ง€ URL๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋„ฃ์—ˆ๋‹ค

 

์ด๋Š” onClick {isSelectLogin ? toLogin : toSignup} ์œผ๋กœ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ–ˆ๋‹ค

 

 

 

๊ฐ€์žฅ ์–ด๋ ค์› ๋˜ ๊ฑด ๋ฐ”๋กœ ๋กœ๊ทธ์ธ fetch ํ•จ์ˆ˜์˜€๋Š”๋ฐ

.then ์—์„œ if() ๋ฌธ์„ ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์งœ์•ผํ•˜๋Š”์ง€ ๋งค์šฐ ๋‚œ๊ฐํ–ˆ๋‹ค

 

์ดˆ๋ฐ˜์—” response.message === 'login success' ๋กœ  ์งฐ์œผ๋‚˜ ๋ฉ”์„ธ์ง€๋กœ ํŒ๋‹จํ•  ๊ฒฝ์šฐ

๋ฐฑ์—”๋“œ ์ธก์—์„œ ๋ฉ”์„ธ์ง€ ๋ฌธ๊ตฌ๋งŒ ๋ฐ”๊พธ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ์‰ฝ๊ฒŒ ๋‚  ์ˆ˜ ์žˆ๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•„

 

๋‘๋ฒˆ์งธ .then ์—์„œ response.status === 200 ๋กœ ์งฐ์œผ๋‚˜

์ฒซ๋ฒˆ์งธ .then ์—์„œ json ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•œ ํƒ“์—, status === 200 ์„ ์ฝ์ง€ ๋ชปํ•ด ์ž๊พธ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค

 

 

๊ทธ๋ž˜์„œ ์ด๋ฅผ ๋ฉ˜ํ† ๋‹˜์˜ ๋„์›€์„ ๋ฐ›์•„ response.status === 200 ๋กœ ํŒ๋ณ„ํ•œ ํ›„์— json() ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์‹์„ ์งฐ๋Š”๋ฐ

 

 

์ด๋Ÿฐ ํ˜•ํƒœ๊ฐ€ ๋˜์—ˆ๋‹ค ๐Ÿค”

ํ†ต์‹ ์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋ญ”๊ฐ€ ์ฐ์ฐํ•œ...

 

 

 

 

๊ทธ๋ž˜์„œ ํ›„์— ๋‹ค์‹œ ๋ฆฌํŒฉํ† ๋ง์„ ํ–ˆ๋Š”๋ฐ

 

 

 

์ด๋ ‡๊ฒŒ ์ตœ์ข…๋ณธ์ด ๋‚˜์™”๋‹ค

response ์— accessToken ์ด ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ์—ฌ๋ถ€๋งŒ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ!

์ฝ”๋“œ๊ฐ€ ํ›จ์”ฌ ๊น”๋”ํ•ด์กŒ๋‹ค

 

 

 

 

 


 

 

 

๊ทธ๋ฆฌ๊ณ  ๋กœ๊ทธ์ธ/ ํšŒ์› ๊ฐ€์ž…์ฐฝ์„ ๋งŒ๋“ค๋ฉฐ ๋“  ์˜๋ฌธ ํ•œ ๊ฐ€์ง€

 

 

์„œ๋ฒ„์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ ์ „์— ๋งŒ๋“ค์—ˆ๋˜ ๋กœ๊ทธ์ธ์ฐฝ์€ ๋ฐ˜๋“œ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ํ•„์š”ํ–ˆ๋Š”๋ฐ

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด์„œ ์„œ๋ฒ„์—์„œ๋Š” ์ •๊ทœ์‹์„ ์จ์„œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๋”์šฑ ์น˜๋ฐ€ํ•˜๊ฒŒ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜๋‹ค

 

 

 

 

๊ทธ๋ ‡๋‹ค๋ฉด ๊ตณ์ด ํ”„๋ก ํŠธ์—”๋“œ / ๋ฐฑ์—”๋“œ ๋‘˜ ๋‹ค ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ? ๐Ÿค” 

 

 

 

์ด๋ฅผ ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ์—์„œ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค

 

 

์ถœ์ฒ˜ : https://techblog.woowahan.com/2645/

 

์ค„์ด์ž๋ฉด

 

 

 

 

์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์€ ๋ฌด์กฐ๊ฑด ๊ฒ€์ฆํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ!

 

๊ทธ๋ ‡์ง€ ์•Š์„์‹œ ๋‚˜์œ ์˜ˆ๋กœ ๊ฐ’์„ ๊ฐœ๋ฐœ์— ๊ฐ„๋‹จํ•œ ์ƒ์‹์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ์ด 900๋งŒ์› ์–ด์น˜ ์ƒํ’ˆ์„ ์ฃผ๋ฌธํ•˜๋ฉด์„œ

์ฃผ๋ฌธ ํผ์˜ ๊ฒฐ์ œ ๊ฐ€๊ฒฉ์„ ํผ ์ „์†ก ์ง์ „์— 9,000์›์œผ๋กœ ๋ฐ”๊ฟ”์ณค๋‹ค๊ณ  ํ•œ๋‹ค ๐Ÿ™€

 

์ด ์ผ์„ ์•Œ์•„๋‚ผ ๋™์•ˆ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ฐ€๊ฒฉ์„ ์กฐ์ž‘ํ•ด์„œ ์ฃผ๋ฌธํ–ˆ์„๊นŒ? 

 

 

 

๊ฐœ๋ฐœ์€ ๊ฒฐ๊ตญ ์‚ฌ๋žŒ์ด ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—

์œ ํšจ์„ฑ ๊ด€๋ จํ•ด์„  ์–ธ์ œ๊ฐ€ ์‹ค์ˆ˜๊ฐ€ ๋‚  ์ˆ˜ ์žˆ๋‹ค

 

๊ทธ๋ž˜์„œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์€ ์ด์ค‘ ์‚ผ์ค‘์œผ๋กœ ๊ฑธ์–ด๋†“์„ ์ •๋„๋กœ ์ •๋ง ์ค‘์š”ํ•œ ๊ฒƒ ๊ฐ™๋‹ค

 

 

 

 

 

 

 

 

๐Ÿ‘‡ github readme ์šฉ ์›€์งค

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

'BODYLIKE Project' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

BODYLIKE Project ํšŒ๊ณ ๋ก  (2) 2022.08.27
BODYLIKE ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„  (0) 2022.08.26
BODYLIKE ๋กœ๊ณ  ๊ด€๋ จ  (0) 2022.08.24

๋Œ“๊ธ€