diff --git a/README.md b/README.md index 50eef28..5a84a40 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,10 @@ - [๐Ÿ’พ DB ์„ค๊ณ„](#-DB-์„ค๊ณ„) - [๐Ÿ“ก API ์„ค๊ณ„](#-API-์„ค๊ณ„) - [4. CI/CD](#4-cicd) -- [5. ์—๋Ÿฌ ํ•ด๊ฒฐ](#5-์—๋Ÿฌ-ํ•ด๊ฒฐ) -- [6. ํšŒ๊ณ ](#6-ํšŒ๊ณ ) -- [7. API ๋ฌธ์„œ](#7-API-๋ฌธ์„œ) +- [5. ๋ฆฌํŒฉํ† ๋ง ์ดํ›„ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ](#5-๋ฆฌํŒฉํ† ๋ง-์ดํ›„-์ถ”๊ฐ€๋œ-๊ธฐ๋Šฅ) +- [6. ์—๋Ÿฌ ํ•ด๊ฒฐ](#6-์—๋Ÿฌ-ํ•ด๊ฒฐ) +- [7. ํšŒ๊ณ ](#7-ํšŒ๊ณ ) +- [8. API ๋ฌธ์„œ](#8-API-๋ฌธ์„œ) --- @@ -287,7 +288,171 @@ gradle bootJar --- -## 5. ์—๋Ÿฌ ํ•ด๊ฒฐ +## 5. ๋ฆฌํŒฉํ† ๋ง ์ดํ›„ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ +### 1. ์ฆ๊ฒจ์ฐพ๊ธฐ + +#### โ‘  ์ฆ๊ฒจ์ฐพ๊ธฐ ๋“ฑ๋ก ๊ธฐ๋Šฅ + +ํšŒ์›์€ ์ˆ™์†Œ๋ฅผ ์ฆ๊ฒจ์ฐพ๊ธฐ(์ฐœ) ํ•  ์ˆ˜ ์žˆ๋‹ค. + +#### โ‘ก ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ + +ํšŒ์›์€ ๋ณธ์ธ์ด ์ฆ๊ฒจ์ฐพ๊ธฐ(์ฐœ) ํ•œ ์ˆ™์†Œ ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค. + +ํŽ˜์ด์ง€๋„ค์ด์…˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค. + +#### โ‘ข ์ฆ๊ฒจ์ฐพ๊ธฐ ์ทจ์†Œ ๊ธฐ๋Šฅ + +ํšŒ์›์€ ์ˆ™์†Œ์— ๋Œ€ํ•œ ์ฆ๊ฒจ์ฐพ๊ธฐ(์ฐœ)์„ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ๋‹ค. + +### 2. ์ˆ™์†Œ + +#### โ‘  ์ˆ™์†Œ ๊ฒ€์ƒ‰ ์‹œ, ์ˆ˜์šฉ์ธ์›์— ๋”ฐ๋ฅธ ๊ฒ€์ƒ‰ ์ถ”๊ฐ€ + +์ˆ™์†Œ ๊ฒ€์ƒ‰ ์‹œ, ์ˆ™๋ฐ•ํ•  ์ธ์›์— ๋”ฐ๋ฅธ ์ˆ™์†Œ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค. + +#### โ‘ก ์ˆ™์†Œ ๊ฒ€์ƒ‰ ์‹œ, ์„ฑ์ˆ˜๊ธฐ, ๋น„์ˆ˜๊ธฐ, ํ‰์ผ, ์ฃผ๋ง์— ๋”ฐ๋ผ ๊ฐ€๊ฒฉ ํ‘œ์‹œ ๋‹ค๋ฅด๊ฒŒ ์กฐํšŒ + +ํ˜„์žฌ ๋‚ ์งœ์— ๋”ฐ๋ผ, ๊ฐ€๊ฒฉ์ด ๋‹ค๋ฅด๊ฒŒ ์กฐํšŒ๋  ์ˆ˜ ์žˆ๊ฒŒ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. + +#### โ‘ก ์ˆ™์†Œ ์ƒ์„ธ ๊ฒ€์ƒ‰ ์‹œ, ์„ฑ์ˆ˜๊ธฐ, ๋น„์ˆ˜๊ธฐ, ํ‰์ผ, ์ฃผ๋ง์— ๋”ฐ๋ผ ๊ฐ€๊ฒฉ ํ‘œ์‹œ ๋‹ค๋ฅด๊ฒŒ ์กฐํšŒ + +ํ˜„์žฌ ๋‚ ์งœ์— ๋”ฐ๋ผ, ๊ฐ€๊ฒฉ์ด ๋‹ค๋ฅด๊ฒŒ ์กฐํšŒ๋  ์ˆ˜ ์žˆ๊ฒŒ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. + +### 3. ์˜ˆ์•ฝ ์„ ์  + +#### โ‘  ์˜ˆ์•ฝ ์„ ์  ๋กœ์ง ์ˆ˜์ • + +๊ธฐ์กด + +- ์˜ˆ์•ฝ ์„ ์ ์ด ๊ฐ€๋Šฅํ•œ์ง€ ๊ฒ€์ฆ +- ๊ฒ€์ฆ ๊ฒฐ๊ณผ๊ฐ€ true์ผ ๊ฒฝ์šฐ, ์˜ˆ์•ฝ ์„ ์  โ€”> ์„ ์ ํ•œ ๋ ˆ๋””์Šค ํ‚ค ๋งŒ๋ฃŒ๊ธฐํ•œ : โ€˜์ˆ™๋ฐ• ๋งˆ์ง€๋ง‰์ผโ€™ ์ผ์‹œ + - ๊ทธ๋Ÿฌ๋‚˜ ๊ฒฐ์ œ ์™„๋ฃŒ๋˜์ง€ ์•Š๊ฑฐ๋‚˜, ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์„ ๋‹ซ๋Š” ๊ฒฝ์šฐ ์„ ์ ์ด ์ทจ์†Œ๋˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +๋ณ€๊ฒฝ + +- ์˜ˆ์•ฝ ์„ ์ ์‹œ ๊ฒฐ์ œ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋œ ๊ฒฝ์šฐ,์ž๋™์œผ๋กœ ์„ ์ ์ด ์ทจ์†Œ๋  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋ฃŒ๊ธฐํ•œ์„ 30๋ถ„์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. โ†’ ์˜ˆ์•ฝ ๊ฒฐ์ œ์‹œ ๋งŒ๋ฃŒ๊ธฐํ•œ์„ โ€˜์ˆ™๋ฐ• ๋งˆ์ง€๋ง‰์ผโ€™๋กœ ์žฌ์„ค์ •ํ•˜๋„๋ก ์ˆ˜์ • + +### 4. ์˜ˆ์•ฝ ์ฃผ๋ฌธ + +#### โ‘  ์˜ˆ์•ฝ ์ฃผ๋ฌธ ํŽ˜์ด์ง€์—์„œ ํ•„์š”ํ•œ ์ˆ™์†Œ/๊ฐ์‹ค ์ •๋ณด ๋ฆฌ์ŠคํŠธ ์กฐํšŒ API ์ถ”๊ฐ€ + +์ฃผ๋ฌธ/๊ฒฐ์ œ ํŽ˜์ด์ง€์—์„œ ๊ธฐ์กด์— FE๋ผ๋ฆฌ ์ฃผ๊ณ  ๋ฐ›๋˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์—”๋“œ์— ์š”์ฒญํ•ด ์กฐํšŒํ•˜๋„๋ก API๋ฅผ ์ถ”๊ฐ€ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. + +#### โ‘ก ์˜ˆ์•ฝ ์ฃผ๋ฌธ API Request Body ์ˆ˜์ • + +์˜ˆ์•ฝ ์ฃผ๋ฌธ API Request Body๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. (๋ถˆํ•„์š”ํ•œ ์š”์ฒญ๊ฐ’ ์ œ๊ฑฐ + ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์‹๋ณ„์ž ํ•„๋“œ(cartId) ์ถ”๊ฐ€) + +#### โ‘ข ์˜ˆ์•ฝ ์ฃผ๋ฌธ ๋กœ์ง์—์„œ ์„ ์  ๋ ˆ๋””์Šค ํ‚ค ๋งŒ๋ฃŒ๊ธฐํ•œ ์žฌ์„ค์ • ํ•˜๋„๋ก ์ˆ˜์ • + +๊ธฐ์กด์˜ ์˜ˆ์•ฝ ์„ ์  ์„œ๋น„์Šค ๋กœ์ง์ด ๋ณ€๊ฒฝ๋จ์— ๋”ฐ๋ผ ์˜ˆ์•ฝ ์ฃผ๋ฌธ ์ €์žฅ ๋กœ์ง์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. + +์˜ˆ์•ฝ ์ €์žฅ ์„œ๋น„์Šค ๋กœ์ง์—์„œ ์„ ์ ํ–ˆ๋˜ ๋ ˆ๋””์Šค ํ‚ค์˜ ๋งŒ๋ฃŒ๊ธฐํ•œ์„ โ€˜์ฒดํฌ์•„์›ƒโ€™ ๊ธฐํ•œ๊นŒ์ง€๋กœ ์žฌ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. + +#### โ‘ฃ ์˜ˆ์•ฝ ์ฃผ๋ฌธ ์™„๋ฃŒ ์‹œ ์˜ˆ์•ฝ ์™„๋ฃŒ๋œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์•„์ดํ…œ์„ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€ + +์˜ˆ์•ฝ ์ฃผ๋ฌธ API Request Body์— cartId ์ •๋ณด๋ฅผ ์ถ”๊ฐ€๋กœ ๋ฐ›์•„ ์˜ˆ์•ฝ ์ฃผ๋ฌธ ๋กœ์ง์—์„œ ์ •์ƒ์ ์œผ๋กœ ์˜ˆ์•ฝ์ด ์ €์žฅ๋œ ๊ฒฝ์šฐ ํ•ด๋‹น ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์•„์ดํ…œ์„ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง์„ ์ถ”๊ฐ€ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. + +### 5. ๋ณ„์  + +#### โ‘  ๋ณ„์  ๋“ฑ๋ก ๊ฐ€๋Šฅ ๊ธฐํ•œ(๋งŒ๋ฃŒ๊ธฐํ•œ) ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€ + +๋ณ„์  ๋“ฑ๋ก ๊ฐ€๋Šฅ ๊ธฐํ•œ์„ ์ฒดํฌ์•„์›ƒ ์ดํ›„ 2์ฃผ๋‚ด๋กœ ์ œํ•œํ•œ๋‹ค๋Š” ์š”๊ตฌ์‚ฌํ•ญ์ด ์ถ”๊ฐ€๋จ์— ๋”ฐ๋ผ ๋ณ„์  ๋“ฑ๋ก์‹œ ๋“ฑ๋ก์ด ๊ฐ€๋Šฅํ•œ ๊ธฐ๊ฐ„์ธ์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. + +--- + +### 4. Open API ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ ํ™œ์šฉ + +#### โ‘  ์ˆ™์†Œ ์˜ต์…˜, ๋ถ€๋Œ€์‹œ์„ค ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ํ™œ์šฉ + +
+์ˆ™์†Œ ์˜ต์…˜ +
+ +- ๊ฐœ์‹ค ๋‚ด ์ทจ์‚ฌ ์—ฌ๋ถ€ +- ์ฃผ์ฐจ์‹œ์„ค ์—ฌ๋ถ€ +- ํ”ฝ์—… ์„œ๋น„์Šค ์—ฌ๋ถ€ +- ์‹์Œ๋ฃŒ์žฅ +- ๋ฌธ์˜ ๋ฐ ์•ˆ๋‚ด +- +
+
+ +
+์ˆ™์†Œ ๋ถ€๋Œ€์‹œ์„ค +
+ +- ๋ฐ”๋น„ํ์žฅ ์—ฌ๋ถ€ +- ๋ทฐํ‹ฐ์‹œ์„ค ์ •๋ณด +- ์‹์Œ๋ฃŒ์žฅ ์—ฌ๋ถ€ +- ์ž์ „๊ฑฐ ๋Œ€์—ฌ ์—ฌ๋ถ€ +- ์บ ํ”„ํŒŒ์ด์–ด ์—ฌ๋ถ€ +- ํœ˜ํŠธ๋‹ˆ์Šค ์„ผํ„ฐ ์—ฌ๋ถ€ +- ๋…ธ๋ž˜๋ฐฉ ์—ฌ๋ถ€ +- ๊ณต๋™ ์ƒค์›Œ์‹ค ์—ฌ๋ถ€ +- ๊ณต๋™ PC์‹ค ์—ฌ๋ถ€ +- ์‚ฌ์šฐ๋‚˜์‹ค ์—ฌ๋ถ€ +- ์Šคํฌ์ธ  ์‹œ์„ค ์—ฌ๋ถ€ +- ์„ธ๋ฏธ๋‚˜์‹ค ์—ฌ๋ถ€ + +
+
+ + +#### โ‘ก ๊ฐ์‹ค ์ด๋ฏธ์ง€, ์˜ต์…˜ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ํ™œ์šฉ + +
+๊ฐ์‹ค ์ด๋ฏธ์ง€ +
+ +- ๊ฐ์‹ค ์ด๋ฏธ์ง€ URL + +
+
+ +
+๊ฐ์‹ค ์˜ต์…˜ +
+ +- ๋ชฉ์š• ์‹œ์„ค ์—ฌ๋ถ€ +- ์š•์กฐ ์—ฌ๋ถ€ +- ํ™ˆ์‹œ์–ดํ„ฐ ์—ฌ๋ถ€ +- ์—์–ด์ปจ ์—ฌ๋ถ€ +- TV ์—ฌ๋ถ€ +- PC ์—ฌ๋ถ€ +- ์ผ€์ด๋ธ” ์„ค์น˜ ์—ฌ๋ถ€ +- ์ธํ„ฐ๋„ท ์—ฌ๋ถ€ +- ๋ƒ‰์žฅ๊ณ  ์—ฌ๋ถ€ +- ์„ธ๋ฉด๋„๊ตฌ ์—ฌ๋ถ€ +- ์†ŒํŒŒ ์—ฌ๋ถ€ +- ์ทจ์‚ฌ ์šฉํ’ˆ ์—ฌ๋ถ€ +- ํ…Œ์ด๋ธ” ์—ฌ๋ถ€ +- ๋“œ๋ผ์ด๊ธฐ ์—ฌ๋ถ€ + +
+
+ +
+๊ฐ์‹ค ๊ฐ€๊ฒฉ +
+ +- ๋น„์ˆ˜๊ธฐ ์ฃผ์ค‘ ์ตœ์†Œ ๊ฐ€๊ฒฉ +- ๋น„์ˆ˜๊ธฐ ์ฃผ๋ง ์ตœ์†Œ ๊ฐ€๊ฒฉ +- ์„ฑ์ˆ˜๊ธฐ ์ฃผ์ค‘ ์ตœ์†Œ ๊ฐ€๊ฒฉ +- ์„ฑ์ˆ˜๊ธฐ ์ฃผ๋ง ์ตœ์†Œ ๊ฐ€๊ฒฉ + +
+
+ +#### โ‘ข ๋ณ€๊ฒฝ๋œ API + +1. ์ˆ™์†Œ ์ „์ฒด ๋ฐ ๊ฒ€์ƒ‰ ์กฐํšŒ API ๋ณ€๊ฒฝ (์œ„์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€ ์‘๋‹ต๋ฉ๋‹ˆ๋‹ค.) +2. ๊ฐ์‹ค ์กฐํšŒ API ๋ณ€๊ฒฝ +3. ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์กฐํšŒ API ๋ณ€๊ฒฝ + +--- + +## 6. ์—๋Ÿฌ ํ•ด๊ฒฐ ### ๐Ÿ“Œ ์ฃผ์š” ์—๋Ÿฌ @@ -372,7 +537,7 @@ gradle bootJar > ![](src/main/resources/image/wrapper-error-2.png) > -## 6. ํšŒ๊ณ  +## 7. ํšŒ๊ณ 
์ •์˜์ •
@@ -433,7 +598,7 @@ gradle bootJar
-## 7. API ๋ฌธ์„œ +## 8. API ๋ฌธ์„œ โ€ป Spring REST Docs๋กœ ๋ฌธ์„œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.