Market GG Shop ์๋น์ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด์ฉ์ ํ์ํ API ๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ ๊ทธ์ ์์ํ๋ ์๋น์ค๋ฅผ ์ํํฉ๋๋ค.
ํด๋น ํ๋ก์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ๊ฑฐ๋ git clone
์ ํตํด ์คํ ํ๊ฒฝ์ ๊ตฌ์ฑํ ๋ค, ๋ค์๊ณผ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
./mvnw spring-boot:run
- ์นดํ
๊ณ ๋ฆฌ ๊ด๋ฆฌ (Co-authored-by: @๋ฐ์ธ์)
- ์นดํ ๊ณ ๋ฆฌ ๋ถ๋ฅํ ๋ชฉ๋ก ์กฐํ
- ์นดํ ๊ณ ๋ฆฌ ๋ถ๋ฅ๋ฒํธ, ์นดํ ๊ณ ๋ฆฌ ๋ฒํธ, ์ด๋ฆ, ๋์ด์์๋ฅผ ์ ๋ ฅ์ผ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฑ๋ก
- ์นดํ ๊ณ ๋ฆฌ ๋ฒํธ๋ฅผ ์ ๋ ฅ์ผ๋ก ์นดํ ๊ณ ๋ฆฌ ๋จ๊ฑด ์กฐํ
- ์นดํ ๊ณ ๋ฆฌ ๋ถ๋ฅ๋ฒํธ๋ฅผ ์ ๋ ฅ์ผ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํ
- ์ ์ฒด ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํ
- ์นดํ ๊ณ ๋ฆฌ ์ด๋ฆ, ๋์ด์์ ์์
- ์นดํ ๊ณ ๋ฆฌ ๋จ๊ฑด ์ญ์
- ์ฐ ๊ด๋ฆฌ
- ์ฐ ๋ฑ๋ก, ํด์
- ์ฐํ ์ํ ๋ชฉ๋ก ์กฐํ
- ์ฟ ํฐ ๊ด๋ฆฌ
- ์ฟ ํฐ ๋ฑ๋ก, ๋จ๊ฑด ์กฐํ, ๋ชฉ๋ก ์กฐํ, ์์ , ์ญ์
- ์ฃผ๋ฌธ ๊ด๋ฆฌ
- ๊ธฐ๋ฅ ๊ตฌํ ์ค
- ๊ณ ๊ฐ์ผํฐ ๊ด๋ฆฌ - 1:1 ๋ฌธ์ (Co-authored-by: @๋ฐ์ธ์)
- 1:1 ๋ฌธ์ ๋ฑ๋ก
- 1:1 ๋ฌธ์ ๋จ๊ฑด ์กฐํ
- 1:1 ๋ฌธ์ ๋ชฉ๋ก ์กฐํ
- 1:1 ๋ฌธ์ ์ญ์
- 1:1 ๋ฌธ์ ๋ต๋ณ
- ์ฌ์ฉ์ ๊ด๋ฆฌ
- ์ธ๋ถ ์ ๋ฌด ์ค๋ช
- ์ธ๋ถ ์ ๋ฌด ์ค๋ช
- ๋ฐฐ์ก ๊ด๋ฆฌ
- ๊ธฐ๋ฅ ๊ตฌํ ์ค
- ์ํ ๊ด๋ฆฌ
- ์ํ ๋ฑ๋ก ๊ตฌํ
- Apache Commons File Upload ๋ฅผ ์ฌ์ฉํ ๋ก์ปฌ ์ ๋ก๋ ๊ธฐ๋ฅ ๊ตฌํ
- ์ํ ๋ฑ๋ก ๊ตฌํ
- ์ํ ๋ฌธ์ ๊ด๋ฆฌ
- ์ํ๋ฌธ์ ๋ฑ๋ก, ์กฐํ, ์ญ์
- ์ํ๋ฌธ์ ๊ด๋ฆฌ์ ๋ต๊ธ ๋ฑ๋ก
- ์ฟ ํฐ ๊ด๋ฆฌ
- ์ฌ์ฉ์์๊ฒ ์ง๊ธ๋๋ GivenCoupon ๋ฑ๋ก, ์ญ์ , ์กฐํ
- ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ก์ ๋จ๋ UsedCoupon ์์ฑ, ์ญ์
- ์นดํ
๊ณ ๋ฆฌ ๊ด๋ฆฌ (Co-authored-by: @๊น์ ๋ฏผ)
- ์นดํ ๊ณ ๋ฆฌ ๋ถ๋ฅํ ๋ชฉ๋ก ์กฐํ
- ์นดํ ๊ณ ๋ฆฌ ๋ถ๋ฅ๋ฒํธ, ์นดํ ๊ณ ๋ฆฌ ๋ฒํธ, ์ด๋ฆ, ๋์ด์์๋ฅผ ์ ๋ ฅ์ผ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฑ๋ก
- ์นดํ ๊ณ ๋ฆฌ ๋ฒํธ๋ฅผ ์ ๋ ฅ์ผ๋ก ์นดํ ๊ณ ๋ฆฌ ๋จ๊ฑด ์กฐํ
- ์นดํ ๊ณ ๋ฆฌ ๋ถ๋ฅ๋ฒํธ๋ฅผ ์ ๋ ฅ์ผ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํ
- ์ ์ฒด ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํ
- ์นดํ ๊ณ ๋ฆฌ ์ด๋ฆ, ๋์ด์์ ์์
- ์นดํ ๊ณ ๋ฆฌ ๋จ๊ฑด ์ญ์
- ๋ผ๋ฒจ ๊ด๋ฆฌ
- ์ํ ๋ฑ๋ก ์ ์ถ๊ฐํ ์ ์๋ ๋ผ๋ฒจ ๋ฑ๋ก
- ๋ฑ๋ก๋์ด์๋ ๋ผ๋ฒจ ์ญ์
- ์ ์ฒด ๋ผ๋ฒจ ๋ชฉ๋ก ์กฐํ
- GG ํจ์ค ๊ด๋ฆฌ
- GG ํจ์ค ๊ตฌ๋ ๊ฐฑ์ ์ผ ํ์ธ
- GG ํจ์ค ๊ตฌ๋ ์ ์ฒญ
- GG ํจ์ค ๊ตฌ๋ ํด์ง
- ํฌ์ธํธ ๊ด๋ฆฌ
- ๊ฒฐ์ ์ ๋ฑ๊ธ๋ณ ํ์ ์ ๋ฆฝ๊ธ ์ ๋ฆฝ
- ํฌ์ธํธ ์ ๋ฆฝ/์ฌ์ฉ ๋ด์ญ ๋ฑ๋ก
- ๋ง์ผ GG ํ์ ์์ ์ ํฌ์ธํธ ์ ๋ฆฝ/์ฌ์ฉ ๋ด์ญ ๋ชฉ๋ก ์กฐํ
- ๊ด๋ฆฌ์์ ๋ง์ผ GG ํ์ ์ ์ฒด ํฌ์ธํธ ์ ๋ฆฝ/์ฌ์ฉ ๋ด์ญ ๋ชฉ๋ก ์กฐํ
- ๊ณ ๊ฐ์ผํฐ ๊ด๋ฆฌ
- ๊ณต์ง์ฌํญ
- ๊ณต์ง์ฌํญ ๋ฑ๋ก
- ๊ณต์ง์ฌํญ ๋จ๊ฑด ์กฐํ
- ๊ณต์ง์ฌํญ ๋ชฉ๋ก ์กฐํ
- ๊ณต์ง์ฌํญ ์์
- ๊ณต์ง์ฌํญ ์ญ์
- FAQ
- FAQ ๋ฑ๋ก
- FAQ ๋ชฉ๋ก ์กฐํ
- FAQ ์์
- FAQ ์ญ์
- ๊ณต์ง์ฌํญ
- ์๋ผ์คํฑ ์์น
- LogStash ๋ฅผ ์ด์ฉํ ์๋ผ์คํฑ ์์น ์๋ฒ์ Shop ์๋ฒ์์ ์ฌ์ฉํ๋ RDBMS ๋๊ธฐํ
- LogStash ๋ฅผ ์ด์ฉํ ์๋ผ์คํฑ ์์น ์๋ฒ ์๋ฌ ๋ก๊น ์ฒ๋ฆฌ
- Kibana ๋ฅผ ์ด์ฉํ ์๋ผ์คํฑ ์์น ์๋ฒ Index ๊ด๋ฆฌ
- X-Pack ์ ์ด์ฉํ ์๋ผ์คํฑ ์์น ์๋ฒ ๋ณด์ ํ์ฑํ
- ์ํ/(๊ณ ๊ฐ์ผํฐ)๊ฒ์๊ธ ๋์์ด ์ฐ๊ด์ด/๋์์ด ๊ฒ์
- ์ํ/(๊ณ ๊ฐ์ผํฐ)๊ฒ์๊ธ ์/ํ ์คํ ๋ณํ ๊ฒ์
- ์ํ/(๊ณ ๊ฐ์ผํฐ)๊ฒ์๊ธ ๊ฒ์ ์ ์๋์์ฑ ์ง์
- ์ํ ์นดํ ๊ณ ๋ฆฌ ๋ด ๊ฐ๊ฒฉ๋ณ ๊ฒ์ ์ง์
- ๊ฒ์๊ธ ์นดํ ๊ณ ๋ฆฌ ๋ด ์ต์ ๋ณ ๊ฒ์ ์ง์
- ์ฌ์ฉ์ ๊ด๋ฆฌ
- ์ธ๋ถ ์ ๋ฌด ์ค๋ช
- ์ธ๋ถ ์ ๋ฌด ์ค๋ช
- ์ฅ๋ฐ๊ตฌ๋ ๊ด๋ฆฌ
- ์ธ๋ถ ์ ๋ฌด ์ค๋ช
- ์ธ๋ถ ์ ๋ฌด ์ค๋ช
- ๊ฒฐ์ ๊ด๋ฆฌ (๊ตฌํ ์ค)
- ๊ฒฐ์ ๋ด์ญ ์ถ๊ฐ ๋ฐ ๊ฒ์ฆ
- ์ต์ข
๊ฒฐ์ ์์ฒญ
- ์นด๋
- ๊ฐ์๊ณ์ข
- ์ค์๊ฐ ๊ณ์ข์ด์ฒด
- ํด๋ํฐ ๊ฒฐ์
- ๊ฒฐ์ ๋ด์ญ ์กฐํ
- ๊ฐ์๊ณ์ข ๋ฐ๊ธ
- ๊ฑฐ๋ ๊ด๋ฆฌ (๊ตฌํ ์ค)
- ๊ฑฐ๋ ๋ด์ญ ์กฐํ
- ๊ฒฐ์ ์ทจ์
- ์ํ ๊ด๋ฆฌ
- ์ํ ๋ฑ๋ก ๊ธฐ๋ฅ ๊ตฌํ
- ์ํ ๋ฑ๋ก์ ํ์ํ ํ์ผ ๊ด๋ฆฌ ์์คํ ๊ตฌํ
- ์ํ ์์ ๊ธฐ๋ฅ ๊ตฌํ
- ์ํ ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ
- ์ํ ์กฐํ์ ๋ณด์ด๋ ์ฌ์ง์ ํ์ผ ๊ด๋ฆฌ ์์คํ ์ผ๋ก๋ถํฐ ํด๋น ์ฌ์ง์ด ์ ์ฅ๋ URL ์ ๋ฐ๋๋ค.
- ์ํ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ
- ์ํ ๋ณต๊ตฌ ๊ธฐ๋ฅ ๊ตฌํ
- ์ํ ๋ฑ๋ก ๊ธฐ๋ฅ ๊ตฌํ
- ํ๊ธฐ ๊ด๋ฆฌ
- ํ๊ธฐ ๋ฑ๋ก ๊ธฐ๋ฅ ๊ตฌํ
- ํ๊ธฐ ๋ฑ๋ก์ ํ์ํ ํ์ผ ๊ด๋ฆฌ ์์คํ ๊ตฌํ
- ํ๊ธฐ ์์ ๊ธฐ๋ฅ ๊ตฌํ
- ํ๊ธฐ ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ
- ํ๊ธฐ ์กฐํ์ ๋ณด์ด๋ ์ฌ์ง์ ํ์ผ ๊ด๋ฆฌ ์์คํ ์ผ๋ก๋ถํฐ ํด๋น ์ฌ์ง์ด ์ ์ฅ๋ URL ์ ๋ฐ๋๋ค.
- ํ๊ธฐ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ
- ํ๊ธฐ ๋ฑ๋ก ๊ธฐ๋ฅ ๊ตฌํ
- ํ์ผ ๊ด๋ฆฌ
- ๋น์ ๋์ ์ผ๋ก ์ฃผ์
๋ฐ์ ์ํฉ์ ๋ฐ๋ผ ๋ก์ปฌ / Object Storage ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- Local
- ํ์ผ ์ ๋ก๋ ๊ธฐ๋ฅ ๊ตฌํ (์ด๋ฏธ์ง)
- ์ด๋ฏธ์ง ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ
- Cloud
- NHN Cloud - Object Storage ๋ฅผ ์ฌ์ฉํ ํ์ผ ์ ๋ก๋ ๊ธฐ๋ฅ ๊ตฌํ (์ด๋ฏธ์ง)
- ์ด๋ฏธ์ง ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ
- Local
- ๋น์ ๋์ ์ผ๋ก ์ฃผ์
๋ฐ์ ์ํฉ์ ๋ฐ๋ผ ๋ก์ปฌ / Object Storage ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
์๋ผ์คํฑ ์์น (@๋ฐ์ธ์)
- ์๋ผ์คํฑ ์์น๋ ์์ฒด์ ์ธ Transaction ์ด ์๋ค ์ด๋ป๊ฒ ์ฒ๋ฆฌ?
- LogStash ๋ฅผ ์ด์ฉํ์ฌ ์ฃผ๊ธฐ๋ง๋ค ๋ฐ์ดํฐ์ ๋๊ธฐํ ์ฒ๋ฆฌ๋ฅผ ์งํ
- ์๋ผ์คํฑ ์์น ์๋ฒ์ ์์ฒด์ ์ธ ์ค๋ฅ๋ก ์๋น์ค๊ฐ ๋ง๋น?
- ์๋น ์ธ๋ฑ์ค๋ฅผ ๋๋ ํ์์ผ๋ก ํด๊ฒฐ์์
์ํ ๊ด๋ฆฌ (@์กฐํ์ง)
์๋ฒ ์ค์ผ์ผ ์์์ ๋๋นํ์ฌ ํ์ผ ๊ด๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ.
โ ๊ธฐ์กด ๋ก์ปฌ์ ์ ์ฅํ๋ ๊ธฐ๋ฅ โ cloud๋ก ์ด์
๊ทธ๋ ๋ค๋ฉด ๊ธฐ์กด์ ์ฝ๋๋?
โ ๊ฐ์ฒด ์งํฅ์ ์ธ ์ค๊ณ๋ฅผ ํตํด ๊ธฐ์กด ์ฝ๋์ ๋ณํ ์๋ ๊ธฐ๋ฅ ํ์ฅ ๊ณ ๋ ค
์ฟ ํฐ ๊ด๋ฆฌ (@๋ฏผ์์)
- Spring Event โ ํ์๊ฐ์ ์ ์ฟ ํฐ ์๋ ์ง๊ธ
- Spring Event โ ๋ฒ ์คํธ ํ๊ธฐ ์ ์ ์ ์ฟ ํฐ ์๋ ์ง๊ธ
- Scheduler ****โ ๋งค์ผ ์์ผ์ธ ํ์์๊ฒ ์ฟ ํฐ ์๋ ์ง๊ธ
- Batch + Scheduler ****โ ๋งค์ 1์ผ ํ์ ๋ฑ๊ธ ์ ๋ฐ์ดํธ + ๋ฑ๊ธ์ ๋ฐ๋ฅธ ์ฟ ํฐ ์ง๊ธ
ํฌ์ธํธ ๊ด๋ฆฌ (@๋ฐ์ธ์)
- ํฌ์ธํธ ์ ๋ฆฝ/์ฌ์ฉ ๋ด์ญ ๋ฑ๋ก ์ Transaction ์ ๊ธฐ์ค?
- ์ ๋ฆฝ/์ฌ์ฉ์ด ์ ์ฉ๋๋ ์๋น์ค ๋ด๋ถ์ ๋์ผ Transaction ์ผ๋ก ๊ด๋ฆฌ ํ์
ํ๊ธฐ ๊ด๋ฆฌ (@์กฐํ์ง)
- ์๋น์ค ๋ ์ด์ด๊ฐ ๋๋ฌด ๋ง์ ์์กด์ฑ์ ๊ฐ๊ณ ์๋ค. โ ๊ณ ๋ฏผ์ค
๊ณ ๊ฐ์ผํฐ ๊ด๋ฆฌ (@๊น์ ๋ฏผ, @๋ฐ์ธ์)
- ๊ณ ๊ฐ์ผํฐ์ 3๊ฐ์ ๊ฒ์ํ ํ์
์ ๋ํด ๋์ผํ ์์
์ํ
- ํ๋์ CsPostService ์์ ๊ฐ์ ํ์์ ๋ํ ๋์ผ ๋ฉ์๋๋ก ์ฒ๋ฆฌ
- ์ปจํธ๋กค๋ฌ์ @RoleCheck ๋ก ํด๊ฒฐ๋์ง ์๋ ๋ถ๋ถ Service Layer ์์ ์ฒ๋ฆฌ
Git Flow ์ ๋ต ์ฑ์ฉ
๋ธ๋์น ๊ตฌ๋ถ
main
: ๋ฐฐํฌ ์ ์ฌ์ฉdevelop
: ๊ฐ๋ฐ ๋จ๊ณ๊ฐ ๋๋ ๋ถ๋ถ์ ๋ํด Merge ๋ด์ฉ ํฌํจfeature/xxx
: ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋จ๊ณhotfix/xxx
: Merge ํ ๋ฐ์ํ ๋ฒ๊ทธ ๋ฐ ์์ ์ฌํญ ๋ฐ์ ์ ์ฌ์ฉ
git merge
& git rebase
ํ์ฉ
์์
์ค์ธ feature/xxx
๋ธ๋์น์ ์ง์์ ํตํฉ์ผ๋ก ์ธํ develop
๋ธ๋์น ๋๊ธฐํ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ๊ธฐ ์ํจ
์นธ๋ฐ ๋ณด๋ ํ์ฉ
- ํ์ ๋๊ตฌ Dooray! ์ ๊ทน ํ์ฉ
- GitHub ์์ ์ ๊ณตํ๋ Issues ์ Pull Requests ํ์ฉํ์ฌ ์ปค๋ฐ ๋ฉ์์ง ์ปจ๋ฒค์ ํ๋ฆฝ
Dooray! Planning
GitHub Projects
Market GG is released under version 2.0 of the Apache License.