๊ฒ์ ๊ธฐ๋ฅ์ ์ฌ์ฉ์๊ฐ ๋ญ ์ํ๋์ง ๋ถํฐ ๊ธฐ๋ฅ์ด ์ ์ ๋์ด์ผํฉ๋๋ค.
๋ฐ๋ผ์ UX์ค๊ณ -> UI์ค๊ณ -> API์ค๊ณ -> API๊ตฌํ ๊ฐ Step์์์ ๊ณ ๋ฏผ์ด ์์์ต๋๋ค.
๋จ์ํ ๊ฒ์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ค๊ฐ ์๋ ์ฌ์ฉ์์ ์ง์ ํ Needs๋ ๋ฌด์์ผ๊น์์ ์์ํ์ต๋๋ค. ์ดํ 3๊ฐ๋ก ์ ๋ฆฌํ ์ ์์์ต๋๋ค.
๐ Need 1. ํ์ฌ ์์น์์ ๊ฐ๊น์ด ์ฃผ์ฐจ์ฅ์ ์๊ณ ์ถ์ ๋
โ์ฝ์์ญ ๊ทผ์ฒ์ ์ฃผ์ฐจ์ฅ์ด ์๋?โ
โ
์ฌ์ฉ์๋ ์ง๋๋ฅผ ์ค์ฌ์ผ๋ก ํ ์ฃผ๋ณ ํ์์ ์ํจ
โ
๊ฒ์ ์์ด๋ ํ์ฌ ์์น ์ค์ฌ ๋ฐ๊ฒฝ ์ฃผ์ฐจ์ฅ ์กฐํ ๊ธฐ๋ฅ ํ์
๐ Need 2. ํน์ ์ฅ์ ๊ทผ์ฒ์ ์ฃผ์ฐจ์ฅ์ ์๊ณ ์ถ์ ๋
โ์ฝ์์ญ ํ์ง์์ ์น๊ตฌ๋ค์ด๋ ๋ง๋๊ธฐ๋ก ํ๋๋ฐ, ๊ทผ์ฒ์ ์ฃผ์ฐจ์ฅ ์๋?โ
โ
์ฌ์ฉ์๋ ๊ฐ๊ฒ/์ฅ์๋ช
์ ์
๋ ฅํ๊ณ ๊ทธ ์ฃผ๋ณ ์ฃผ์ฐจ์ฅ์ ํ์ํ๊ณ ์ ํจ
โ
์ฅ์ ๊ฒ์ โ ํด๋น ์์น ์ค์ฌ์ผ๋ก ์ง๋ ์ด๋ โ ์ฃผ๋ณ ์ฃผ์ฐจ์ฅ ํ์
(๋ฐ์ UI๋ฅผ ํ์ธํ๋ฉด ์ดํด๊ฐ ์ฝ๋ค..!!)
๐ Need 3. ์ฃผ์ฐจ์ฅ๋ช
"์ค์ ์ %" ์ด๋ฆ์ ๊ฐ์ง๋ ์ฃผ์ฐจ์ฅ
โ๊ทธ๋ ๊ฐ๋ ์ฃผ์ฐจ์ฅ์ด โ์ค์ ์ ์ฃผ์ฐจ์ฅโ์ด์๋ ๊ฒ ๊ฐ์๋ฐโฆโ
โ
์ฌ์ฉ์๋ ๊ธฐ์ต๋๋ ์ด๋ฆ ์ผ๋ถ๋ง์ผ๋ก ๊ฒ์ํ๊ณ ์ถ์ดํจ
โ
ํ
์คํธ ๊ธฐ๋ฐ ์ฃผ์ฐจ์ฅ๋ช
ํค์๋ ๊ฒ์ ๊ธฐ๋ฅ ์ ๊ณต ํ์
์ด๋ ๊ฒ ์ฌ์ฉ์์ Needs์ ํต์ฌ UX๋ฅผ ์ค๊ณํ๊ณ ํด๋น ์๋์ UI๋ก ๊ตฌํํด ๋ณด๊ฒ ์ต๋๋ค.
UX๋ฅผ ๊ตฌํํ๊ธฐ ์ํด UI๋ก ์ค๊ณํ์ต๋๋ค.
์๋๋ ๊ฒฐ๊ณผ ์
๋๋ค. ๊ฐ ๋ถ์ฐ์ค๋ช
์ UX๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ ์ง๊ฐ ๋ํ๋์ ธ ์์ต๋๋ค.

ํค์๋ ๊ฒ์ ์ API์์ ๊ฒ์ ์๋ต์ ์ค๋ค๋ฉด 1)์ฃผ์ฐจ์ฅ DB ํ์ 2)์นด์นด์ค ๋ก์ปฌ ๊ฒ์ APIํธ์ถ์ ํ๊ฒ ๋ฉ๋๋ค.
1)์ฃผ์ฐจ์ฅ DB ํ์ ์๋ฃํ์ง๋ง 2)์นด์นด์ค ๋ก์ปฌ ๊ฒ์ APIํธ์ถ ์งํ์ค์ธ ๋ณ๋ชฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
API๋ฅผ ๋๊ฐ๋ก ๋ถ๋ฆฌํฉ๋๋ค!!!

UI์ ์ผ๋ก ํค์๋์ ๋งค์นญ๋ ํ์ด๋ผ์ดํ
์ ํ๊ฒ๋๋ค๋ฉด ๊ฐ๋
์ฑ์ด ์ข์์ง ๊ฒ์
๋๋ค.
๋ฐ๋ผ์ ํด๋น ํ๋๋ Response DTO์ ์ถ๊ฐํ์ต๋๋ค!
์๋ต JSON ์ผ๋ถ
"parkingZones": [
{
"matchedInfo": [
{
"field": "zoneName",
"value": "์ค์ ์ ์ฃผ์ฐจ์ฅ",
"matchedText": "์ค์ ์ ",
"startIndex": 0,
"endIndex": 2
},
{
"field": "cityName",
"value": "์์ธํน๋ณ์",
"matchedText": "์์ธ",
"startIndex": 0,
"endIndex": 1
}
]
TDD๋ฐฉ์์
RED -> GREEN -> REFACTORING
๋จ๊ณ๋ฅผ ์ค์ํ๋ฉฐ ๊ตฌํํด๋์ต๋๋ค.
Web Client ์ธ์คํด์ค๋ฅผ ํ์ฉํด ์ธ๋ถ API๋ฅผ ํธ์ถํ์ต๋๋ค. ์ฌ๊ธฐ์์
ํด๋น Web Client๋ฅผ ์ด๋ป๊ฒ ๋ชจํนํ๊ณ ๋จ์ํ
์คํธํ ์ง๊ฐ ๋ง๋งํด GPTํํ
๋ฌผ์ด๋ณด๊ณ ๊ตฌ๊ธ ์์นญ์ 1์๊ฐ ๋๊ฒ ์งํํ๊ณ ๊ฒฐ๊ตญ MockWebServer๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ์ต๋๋ค.
์ง์ Mocking์ ์๋์ง๋ง ์ธ๋ถ API ํ ์คํธ ์ฝ๋๋ฅผ ์งค ๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค!!
1) ํค์๋ ๊ฒ์ ์ฝ๋ https://github.com/Team-Devmon-IN-KU/HonorsParking-BE/pull/80
2) ์นด์นด์ค ๋ก์ปฌ ๊ฒ์ ์ฝ๋ : https://github.com/Team-Devmon-IN-KU/HonorsParking-BE/pull/87
1) ์ผ๊ฐ 10๋ง ์ฟผํฐ ์ด๊ณผ์ ์ ๋ก ์๊ธ ๋ฐ์

ref : https://developers.kakao.com/docs/latest/ko/getting-started/quota
2) ๋๋ํ ์๋ต ๊ฐ์
๋ค์ด๋ฒ ๋ก์ปฌ ๊ฒ์์ ์ต๋ 5๊ฐ๋ฐ์ ์๋ต์ ๋ฐ์ ์ ์์์ง๋ง ์ต๋ 45๊ฐ ๋ฐ์ดํฐ ์ต๋ ๊ฐ๋ฅ
UX๋ถํฐ ๊น์ ๊ฐ๋ฐ ์์๊น์ง ํด๊ฐ๋ฉด์ ๋ฐฑ์๋ ๊ฐ๋ฐ์์ธ ๋ค๋ฅธ ํํธ๋ ์ถฉ๋ถํ ์ด๋ ต๊ณ ์ ์คํ ์ ํ์ด ํ์ํจ์ ์๊ฒ๋์๋ค. ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ผ๋ก ๋งก์ ์ ๋ฌด์ ๋ํด ์ฑ ์๊ฐ์ ๋ ๋ํ ์ ์์ ๊ฒ ๊ฐ๋ค.