Skip to content

gongdlida/Phone-Verify-Flow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

35 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๊ณผ์ œ ์„ค๋ช…

์•„๋ž˜์™€ ๊ฐ™์€ 2๋‹จ๊ณ„ ํœด๋Œ€ํฐ ์ธ์ฆ ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”.

1๋‹จ๊ณ„: ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ์ž…๋ ฅ

  • ์‚ฌ์šฉ์ž์—๊ฒŒ ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›์Šต๋‹ˆ๋‹ค.
  • ์ž…๋ ฅ ํ˜•์‹์€ 010-XXXX-XXXX ํ˜•์‹์œผ๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
  • ํ˜•์‹์ด ๋งž์ง€ ์•Š์œผ๋ฉด โ€œ์˜ฌ๋ฐ”๋ฅธ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”โ€ ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ์œ ํšจํ•œ ๋ฒˆํ˜ธ๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด "์ธ์ฆ๋ฒˆํ˜ธ ์š”์ฒญ" ๋ฒ„ํŠผ์„ ํ™œ์„ฑํ™”ํ•˜๊ณ , ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

2๋‹จ๊ณ„: ์ธ์ฆ๋ฒˆํ˜ธ ์ž…๋ ฅ

  • ์ธ์ฆ๋ฒˆํ˜ธ ์ž…๋ ฅ ํ•„๋“œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ์ธ์ฆ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  "ํ™•์ธ" ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด:
  • ์ธ์ฆ๋ฒˆํ˜ธ๊ฐ€ ๋งž์œผ๋ฉด "์ธ์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!" ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ํ‹€๋ฆฌ๋ฉด "์ธ์ฆ๋ฒˆํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค"๋ผ๋Š” ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ์ธ์ฆ๋ฒˆํ˜ธ๊ฐ€ ๋งž์€ ์ƒํƒœ์—์„œ๋Š” ๋ฒ„ํŠผ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ์™„๋ฃŒ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

API

API๋Š” MSW(Mock Service Worker)๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ชจํ‚น๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜์— ์ •๋ฆฌ๋œ API ๋ช…์„ธ๋ฅผ ์ฐธ๊ณ ํ•ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”.

์ •ํ™•ํ•œ MSW ๋ชจํ‚น ๋™์ž‘์„ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋ฉด, src/mocks/handlers.ts๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

POST /api/auth/send-verification

Request ์˜ˆ์‹œ

{ "phoneNumber": "010-9999-8888" }

Response ์˜ˆ์‹œ

// ์„ฑ๊ณต ์‹œ
{
"success": true,
"message": "์ธ์ฆ๋ฒˆํ˜ธ๊ฐ€ ๋ฐœ์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.",
"data": {
"phoneNumber": "010-9999-8888",
"expiresAt": 12391293,
},
}
// ์‹คํŒจ ์‹œ
{
"success": false,
"message": "์˜ฌ๋ฐ”๋ฅธ ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.",
}

ํ…Œ์ŠคํŠธ ์‹œ ์ฐธ๊ณ ์‚ฌํ•ญ

๋ฐœ๊ธ‰๋œ ์ธ์ฆ๋ฒˆํ˜ธ๋Š” ๋ธŒ๋ผ์šฐ์ € ์ฝ˜์†” ์ฐฝ์— ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์‹œ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.

[MSW] ${phoneNumber}๋กœ ์ธ์ฆ๋ฒˆํ˜ธ ${verificationCode} ๋ฐœ์†ก

POST /api/auth/verify-code

Request ์˜ˆ์‹œ

{
"phoneNumber": "010-9999-8888",
"code": "000999"
}

Response ์˜ˆ์‹œ

// ์„ฑ๊ณต ์‹œ
{
"success": true,
"message": "์ธ์ฆ์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.",
"data": {
"verified": true,
}
}
// ์‹คํŒจ ์‹œ
{
"success": false,
"message": "์ธ์ฆ๋ฒˆํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š๊ฑฐ๋‚˜ ๋งŒ๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.",
"data": {
"verified": false,
}
}

๊ตฌํ˜„ ์‹œ ์œ ์˜์‚ฌํ•ญ

shadcn๊ณผ ๊ฐ™์€ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋ณธ HTML ํƒœ๊ทธ๋งŒ์„ ์ด์šฉํ•ด ๊ฐœ๋ฐœํ•ด์ฃผ์„ธ์š”.

์—๋Ÿฌ ๋ฉ”์‹œ์ง€, ๋ฒ„ํŠผ ํ™œ์„ฑํ™” ์—ฌ๋ถ€ ๋“ฑ์€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์‘ํ•˜๋„๋ก ํ•ด์ฃผ์„ธ์š”.

์‹œ๊ฐ„ ์ ˆ์•ฝ์„ ์œ„ํ•ด ํ•„์š”์— ๋”ฐ๋ผ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋˜ ์จ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

TypeScript ๊ธฐ๋ฐ˜์˜ ํ”„๋กœ์ ํŠธ๋กœ, ํƒ€์ž… ๊ฑด์ „์„ฑ์„ ์ง€ํ‚ค๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

About

๐Ÿ“ฑ ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ์ž…๋ ฅ ๋ฐ ์ธ์ฆ๋ฒˆํ˜ธ ํ™•์ธ 2๋‹จ๊ณ„ ๊ตฌํ˜„ ๊ณผ์ œ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors