- ์ธ์ ํ ์คํธ ๋ฐ ํตํฉ/๋จ์ ํ ์คํธ๋ฅผ ํตํด ๋ณต์กํ๊ฒ ์ฝํ์๋ ๋ก์ง์ ์์ ํ๊ฒ ๋ฆฌํฉํ ๋งํ๋ ์ญ๋์ ํค์ ๋ ํผ๋๋ฐฑ ์ค์ฌ์ ๋ฉํ ๋ง ๊ณผ์
- ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง์์๋ ์ฝ๋๋ฅผ ๊น๋ํ๊ฒ ์ ์งํ๋ ์ญ๋์ ํค์ฐ๊ณ ์ถ์์ต๋๋ค.
- Mock ์๋ ํ ์คํธ๋ฅผ ํตํด ํ ์คํธ์ ์ ๋ขฐ๋๋ฅผ ๋์ผ ์ ์๋ ์ ๋ต์ ํ์ตํ๊ณ ์ถ์์ต๋๋ค.
- ๋ธ๋๋ฐ์ค ํ ์คํธ๋ฅผ ํตํด ๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ์์ ํ๊ณ ํจ์จ์ ์ผ๋ก ๋ฆฌํฉํ ๋งํ๋ ์ญ๋์ ํค์ฐ๊ณ ์ถ์์ต๋๋ค.
- ์ธ์ ํ ์คํธ์ ํตํฉ/๋จ์ ํ ์คํธ ๋ฑ ๋ค์ํ ํ ์คํธ ์ ๋ต ํ์ต
- ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง์ ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋๋ก ์์ ํ๊ฒ ๋ฆฌํฉํ ๋งํ๋ ์ญ๋ ํธ๋ ์ด๋
- Spring Rest Docs๋ฅผ ์ด์ฉํ Presentation Layer ํ ์คํธ ๊ธฐ๋ฐ์ API ๋ฌธ์ ์๋ํ ํ์ต
- 1์ฐจ ๊ณผ์ ๋ฆฌ๋ทฐ
- 2์ฐจ ๊ณผ์ ๋ฆฌ๋ทฐ
- 3์ฐจ ๊ณผ์ ๋ฆฌ๋ทฐ
- 4์ฐจ ๊ณผ์ ๋ฆฌ๋ทฐ
- ERD Cloud - https://www.erdcloud.com/d/tquYyrSeEHaqpZThG
1์ฐจ ๊ณผ์ ๋ฏธ์
- ์งํ์ฒ ์ญ ๋ชฉ๋ก ์กฐํ ์ธ์ ํ ์คํธ ์์ฑํ๊ธฐ
- ์งํ์ฒ ์ญ ์ญ์ ์ธ์ ํ ์คํธ ์์ฑํ๊ธฐ
- ์งํ์ฒ ๋
ธ์ ์์ฑํ๊ธฐ
- ๋ ธ์ ์์ฑ ์ ๋ค์ด์จ ์ญ ์ ๋ณด๋ค์ ์ํ์ข ์ ์ญ๊ณผ ํํ์ข ์ ์ญ์ผ๋ก ๋ฑ๋กํ๊ธฐ
- ์งํ์ฒ ๋ ธ์ ๋ชฉ๋ก ์กฐํํ๊ธฐ
- ์งํ์ฒ ๋ ธ์ ์กฐํํ๊ธฐ
- ์งํ์ฒ ๋ ธ์ ์์ ํ๊ธฐ
- ์งํ์ฒ ๋ ธ์ ์ญ์ ํ๊ธฐ
- ์ธ์ ํ ์คํธ ๊ฒฉ๋ฆฌํ๊ธฐ
- ์งํ์ฒ ๊ตฌ๊ฐ ๋ฑ๋กํ๊ธฐ
- ์๋ก์ด ๊ตฌ๊ฐ์ ์ํ์ญ์ ํด๋น ๋ ธ์ ์ ๋ฑ๋ก๋์ด์๋ ํํ ์ข ์ ์ญ์ด์ด์ผ ํ๋ค.
- ์๋ก์ด ๊ตฌ๊ฐ์ ํํ์ญ์ ํด๋น ๋ ธ์ ์ ๋ฑ๋ก๋์ด์๋ ์ญ์ผ ์ ์๋ค.
- ๊ตฌ๊ฐ์ ์ ๊ฑฐํ๋ค.
- ์งํ์ฒ ๋ ธ์ ์ ๋ฑ๋ก๋ ์ญ(ํํ ์ข ์ ์ญ)๋ง ์ ๊ฑฐํ ์ ์๋ค. ์ฆ, ๋ง์ง๋ง ๊ตฌ๊ฐ๋ง ์ ๊ฑฐํ ์ ์๋ค.
- ์งํ์ฒ ๋ ธ์ ์ ์ํ ์ข ์ ์ญ๊ณผ ํํ ์ข ์ ์ญ๋ง ์๋ ๊ฒฝ์ฐ(๊ตฌ๊ฐ์ด 1๊ฐ์ธ ๊ฒฝ์ฐ) ์ญ์ ์ญ์ ํ ์ ์๋ค.
2์ฐจ ๊ณผ์ ๋ฏธ์
- ๊ตฌ๊ฐ ์ถ๊ฐ ์ ์ฝ์ฌํญ ๋ณ๊ฒฝ
- ๊ธฐ์กด์๋ ๋ง์ง๋ง ์ญ์ ๊ธฐ์ค์ผ๋ก๋ง ๊ตฌ๊ฐ ์ถ๊ฐ โ ์์น์ ์๊ด ์์ด ์ถ๊ฐ ๊ฐ๋ฅ
- ์๋ก์ด ์ญ์ ์ํ ์ข ์ ์ผ๋ก ๋ฑ๋กํ ๊ฒฝ์ฐ ๋งจ ์์ ๊ตฌ๊ฐ์ผ๋ก ์ถ๊ฐ
- ์๋ก์ด ์ญ์ ํํ ์ข ์ ์ผ๋ก ๋ฑ๋กํ ๊ฒฝ์ฐ ๋งจ ํ์ ๊ตฌ๊ฐ์ผ๋ก ์ถ๊ฐ
- ์ฌ์ด์ ๋ผ์ธ ๊ฒฝ์ฐ ๊ฐ ๊ธฐ์กด ๊ตฌ๊ฐ์ ์ํ์ญ or ํํ์ญ์ ์ ๊ท ๊ตฌ๊ฐ ์ ๋ณด๋ก ์ ๋ณ๊ฒฝ
- ๋ ธ์ ์กฐํ ์ ์ํ ์ข์ ์ ๊ธฐ์ค์ผ๋ก ์ญ๋ค์ด ์ ์ ๋ ฌ๋์ด ๋ฐํ
- ๊ตฌ๊ฐ ์ถ๊ฐ ์์ธ
- ์ํ์ญ๊ณผ ํํ์ญ ๋ ์ค ํ๋๋ ํฌํจ๋์ด์์ง ์์ผ๋ฉด ์ถ๊ฐ ๋ถ๊ฐ
- ์ํ์ญ๊ณผ ํํ์ญ์ด ์ด๋ฏธ ๋ ธ์ ์ ๋ชจ๋ ๋ฑ๋ก๋์ด ์๋ค๋ฉด ์ถ๊ฐ ๋ถ๊ฐ
- ์ญ ์ฌ์ด์ ์๋ก์ด ์ญ์ ๋ฑ๋กํ ๊ฒฝ์ฐ ๊ธฐ์กด ์ญ ์ฌ์ด ๊ธธ์ด๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด ์ถ๊ฐ ๋ถ๊ฐ
- ๊ตฌ๊ฐ ์ญ์ ์ ์ฝ ์ฌํญ ๋ณ๊ฒฝ
- ๊ธฐ์กด์๋ ๋ง์ง๋ง ์ญ๋ง ์ญ์ โ ์์น์ ์๊ด ์์ด ์ญ์ ๊ฐ๋ฅ
- ์ข ์ ์ด ์ ๊ฑฐ๋ ๊ฒฝ์ฐ ๋ค์์ผ๋ก ์ค๋ ์ญ์ด ์ข ์ ์ด ๋๋๋ก ๊ตฌํ
- ์ค๊ฐ์ญ์ด ์ ๊ฑฐ๋ ๊ฒฝ์ฐ ์ฌ๋ฐฐ์น
- A - B - C ๊ตฌ๊ฐ์์ B ์ ๊ฑฐ โ A - C ๋ก ์ฌ๋ฐฐ์น
- ๊ฑฐ๋ฆฌ๋ ๋ ๊ตฌ๊ฐ์ ๊ฑฐ๋ฆฌ์ ํฉ (A-B ๊ฑฐ๋ฆฌ + B-C ๊ฑฐ๋ฆฌ)
- ๊ตฌ๊ฐ ์ญ์ ์์ธ
- ๋ ธ์ ์ ๋ฑ๋ก๋์ด ์์ง ์์ ์ญ์ ์ ๊ฑฐ ๋ถ๊ฐ
- ๊ตฌ๊ฐ์ด ํ๋์ธ ๋ ธ์ ์์ ๊ตฌ๊ฐ ์ ๊ฑฐ ๋ถ๊ฐ
- ๊ฒฝ๋ก ์กฐํ ๊ธฐ๋ฅ
- ์ถ๋ฐ์ญ id์ ๋์ฐฉ์ญ id๋ก ์์ฒญํ๋ฉด ์ถ๋ฐ์ญ <-> ๋์ฐฉ์ญ๊น์ง์ ๊ฒฝ๋ก์ ์๋ ์ญ ๋ชฉ๋ก์ด ๊ฒ์๋จ (stations)
- ์กฐํํ ๊ฒฝ๋ก ๊ตฌ๊ฐ์ ์ด ๊ฑฐ๋ฆฌ (distance)
- ๊ฒฝ๋ก ์กฐํ ์์ธ
- ์ถ๋ฐ์ญ๊ณผ ๋์ฐฉ์ญ์ด ๊ฐ์ ๊ฒฝ์ฐ
- ์ถ๋ฐ์ญ๊ณผ ๋์ฐฉ์ญ์ด ์ฐ๊ฒฐ์ด ๋์ด ์์ง ์์ ๊ฒฝ์ฐ
- ์กด์ฌํ์ง ์์ ์ถ๋ฐ์ญ์ด๋ ๋์ฐฉ์ญ์ ์กฐํํ ๊ฒฝ์ฐ
3์ฐจ ๊ณผ์ ๋ฏธ์
- ๋ก๊ทธ์ธ
- ํ ํฐ ์์ฑ API
- ์์ด๋์ ํจ์ค์๋๋ฅผ ์ด์ฉํ์ฌ ํ ํฐ ์์ฑ
- ๋ด ์ ๋ณด ์กฐํ API
- ๋ก๊ทธ์ธ ์ ์์ฑ๋ ํ ํฐ์ ์ด์ฉํ์ฌ ๋ด ์ ๋ณด ์กฐํ
- ํ ํฐ ์์ฑ API
- GitHub ๋ก๊ทธ์ธ ๊ฒ์ฆ ์ธ์ ํ ์คํธ
- Github๋ฅผ ์ด์ฉํ ๋ก๊ทธ์ธ ๊ตฌํ (ํ ํฐ ๋ฐํ)
- ๊ฐ์ ์ด ๋์ด์์ง ์์ ๊ฒฝ์ฐ ํ์ ๊ฐ์ ์ผ๋ก ์งํ ํ ํ ํฐ ๋ฐํ
- ๊ฒฝ๋ก ์ฆ๊ฒจ ์ฐพ๊ธฐ
- ์ฆ๊ฒจ ์ฐพ๊ธฐ ์์ฑ
- ์ฆ๊ฒจ ์ฐพ๊ธฐ ์กฐํ
- ์ฆ๊ฒจ ์ฐพ๊ธฐ ์ญ์
- ๋ด ์ ๋ณด ๊ด๋ฆฌ / ์ฆ๊ฒจ ์ฐพ๊ธฐ ๊ธฐ๋ฅ์ ๋ก๊ทธ์ธ ๋ ์ํ์์๋ง ๊ฐ๋ฅ
- ์์ธ
- ๋น๋ก๊ทธ์ธ์ด๊ฑฐ๋ ์ ํจํ์ง ์์ ๊ฒฝ์ฐ 401 Unauthorized ์๋ต
4์ฐจ ๊ณผ์ ๋ฏธ์
- ๊ฒฝ๋ก ์กฐํ ๊ธฐ๋ฅ ๋ฌธ์ํ
- ๊ตฌ๊ฐ ์ถ๊ฐ ์ ์์์๊ฐ ์ ๋ณด๋ ์ถ๊ฐํ๋๋ก ๋ณ๊ฒฝ
- ๊ตฌ๊ฐ ์ญ์ ์ ์์์๊ฐ ์ ๋ณด๋ ํฉ์ณ์ง๋๋ก ๋ณ๊ฒฝ
- ๋ ธ์ ์ถ๊ฐ ์ ์์์๊ฐ ์ ๋ณด๋ ์ถ๊ฐํ๋๋ก ๋ณ๊ฒฝ
- ๊ฒฝ๋ก ์กฐํ ํ์
์ถ๊ฐ
- ์ธ์ ํ ์คํธ ์์
- ๋ฌธ์ํ
- ๊ธฐ๋ฅ ๊ตฌํ
- ์์ ์๊ฐ์ผ๋ก ๊ฐ์ค์น๋ฅผ ์ธก์ ํ๋ ๋ฉ์๋ ์ถ๊ฐ
- ํ์ ์ ๋ง๊ฒ ์กฐํ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ
-
์ต๋จ ๊ฑฐ๋ฆฌ ๊ฒฝ๋ก ์กฐํ ์๋ต ๊ฒฐ๊ณผ์ ์๊ธ ์ ๋ณด ์ถ๊ฐ
- ์ธ์ ํ ์คํธ ์์
- ๋ฌธ์ํ ํ ์คํธ์ ์๋ต ๊ฒฐ๊ณผ ์์
- ์๊ธ ๊ณ์ฐ ๋ฉ์๋ TDD (๋จ์ ํ ์คํธ)
- ์๊ธ ์กฐํ ๋ฆฌํฉํ ๋ง
distance ๊ธฐ๋ณธ ๋จ์๋ฅผ km๋ก ์งํ
- ๊ธฐ๋ณธ๊ฑฐ๋ฆฌ(10km ์ด๋ด) : ๊ธฐ๋ณธ์ด์ 1250์
- ์ด์ฉ ๊ฑฐ๋ฆฌ ์ด๊ณผ ์ ์ถ๊ฐ ์ด์ ๋ถ๊ณผ
- 10km์ด๊ณผ~50km๊น์ง : 5km๋ง๋ค 100์ ์ถ๊ฐ
- 50km ์ด๊ณผ ์ : 8km๋ง๋ค 100์ ์ถ๊ฐ
-
๋ ธ์ ๋ณ ์ถ๊ฐ ์๊ธ
- ๋ ธ์ ์์ฑ ์ ์ถ๊ฐ ์๊ธ ์ ๋ณด ์ถ๊ฐ
- ์๊ธ ๊ณ์ฐ ์ ์ถ๊ฐ ์๊ธ ๋ฐ์
-
์ฐ๋ น๋ณ ์๊ธ ํ ์ธ
- ๋ก๊ทธ์ธ ๋ ์ฌ์ฉ์๊ฐ ๊ฒฝ๋ก ์กฐํ๋ฅผ ํ ๊ฒฝ์ฐ age ๊ฐ ๊ธฐ์ค์ผ๋ก ํ ์ธ ์๊ธ ๊ณ์ฐ
- ์ ๋ถ๋น์ ๊ฐ์ด ์ถ๊ฐ ์๊ธ์ด ์๋ ๋
ธ์ ์ ์ด์ฉํ ๊ฒฝ์ฐ ์ธก์ ๋ ์๊ธ + {์ถ๊ฐ ์๊ธ} ๊ณ์ฐ
- ๋ ธ์ ๋ณ ์ถ๊ฐ ์๊ธ ์ ๋ณด ์ถ๊ฐ (๋ ธ์ ์์ฑ ์)
- ์ถ๊ฐ ์๊ธ์ด ์๋ ๋
ธ์ ์ผ๋ก ํ์นํ์ฌ ์ด์ฉํ ๊ฒฝ์ฐ ๊ฐ์ฅ ๋์ ๊ธ์ก์ ์ถ๊ฐ ์๊ธ๋ง ์ ์ฉ
- ex)
0์
,500์
,900์
์ ์ถ๊ฐ ์๊ธ์ด ์๋ ๋ ธ์ ๋ค์ ํ์นํ ๊ฒฝ์ฐ1250์ + {๊ธฐ๋ณธ ๊ฑฐ๋ฆฌ ์ด๊ณผ์ก} + 900์
์ผ๋ก ๊ณ์ฐ
- ex)
1250์ + {๊ธฐ๋ณธ ๊ฑฐ๋ฆฌ ์ด๊ณผ์ก}
๋ ๊ธฐ์กด ๊ณ์ฐ ๋ฉ์๋ ๊ทธ๋๋ก ์ฌ์ฉ ํ ์ถ๊ฐ ์๊ธ ๋ฐ์
- ์ฒญ์๋
(13์ธ ์ด์ ~ 19์ธ ๋ฏธ๋ง) : ์ด์ ์๊ธ์์ 350์ ๊ณต์ ํ ๊ธ์ก์ 20% ํ ์ธ
(์ด์ ์๊ธ - 350์) * 0.8
- ์ด๋ฆฐ์ด (6์ธ ์ด์ ~ 13์ธ ๋ฏธ๋ง) : ์ด์ ์๊ธ์์ 350์ ๊ณต์ ํ ๊ธ์ก์ 50% ํ ์ธ
(์ด์ ์๊ธ - 350์) * 0.5
- ์ด๋ฆฐ์ด (6์ธ ๋ฏธ๋ง) : ๋ฌด๋ฃ
- ๊ฐ์ธ์ ์ธ ์ถ๊ฐ ์๊ตฌ ์ฌํญ