10geukbok / petkpetk

kosta 256 ssibgeukbok team's shopping web service project based on Springboot and Jpa
0 stars 2 forks source link

petkpetk

๐Ÿ“Ž ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๋™๋ฌผ ์• ํ˜ธ๊ฐ€๋“ค์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ์ด์ž ์˜จ๋ผ์ธ ์‡ผํ•‘๋ชฐ์„ ๊ฒฐํ•ฉํ•œ ๋ฉ€ํ‹ฐ ํ”Œ๋žซํผ ๋ฐ˜๋ ค๋™๋ฌผ์„ ์‚ฌ๋ž‘ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ง์ ‘ ๋งŒ๋“ค์–ด๊ฐ€๋Š” โ€์ƒํ’ˆ ํŒ๋งค ์ค‘๊ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋žซํผโ€ ์ž…๋‹ˆ๋‹ค.



๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ ํŒ€์› ์†Œ๊ฐœ

ํŒ€์žฅ ๊ฐœ๋ฐœ ๋ฆฌ๋” ๋””์ž์ธ ๋ฆฌ๋”
์ตœ๋ณ‘ํ˜ธ ๊น€ํ˜œ์ง„ ๊ฐ•์˜ˆ์€



๐Ÿ—‚๏ธ Architecture

architecture

๐Ÿ’พ ERD ๊ตฌ์กฐ

image

๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ



Collaboration tool


Evironment


Front-End



Back-End



Data


Test


Infra



๐Ÿ“ฑDemo

๐Ÿš€ ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ ๐Ÿ” ๋ฉ”์ธ ์กฐํšŒ
ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ ๋ฉ”์ธ ์กฐํšŒ
๐Ÿง‘๐Ÿปโ€๐Ÿ’ป ์ƒํ’ˆ์กฐํšŒ ๐Ÿš€ ์ƒํ’ˆ ๋ฐ”๋กœ ๊ฒฐ์ œ
์ƒํ’ˆ์กฐํšŒ ์ƒํ’ˆ ๋ฐ”๋กœ ๊ฒฐ์ œ
๐Ÿ’ต ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ฒฐ์ œ ๐Ÿ“ ๋ฆฌ๋ทฐ ์ž‘์„ฑ / ์ˆ˜์ •
์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ฒฐ์ œ ๋ฆฌ๋ทฐ ์ž‘์„ฑ
โœ… ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก / ์ˆ˜์ • โœ… ๊ฒŒ์‹œ๊ธ€, ๋Œ“๊ธ€ ์กฐํšŒ
๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก / ์ˆ˜์ • ๊ฒŒ์‹œ๊ธ€, ๋Œ“๊ธ€ ์กฐํšŒ
๐Ÿš€ 1๋Œ€1 ์งˆ๋ฌธ ๋“ฑ๋ก, ์‚ญ์ œ
1๋Œ€1 ์งˆ๋ฌธ ๋“ฑ๋ก, ์‚ญ์ œ
๐Ÿš€ ๊ด€๋ฆฌ์ž ํšŒ์›๊ฐ€์ž… ๐Ÿ” ๊ด€๋ฆฌ์ž ์Šน์ธ
๊ด€๋ฆฌ์ž ํšŒ์›๊ฐ€์ž… ๊ด€๋ฆฌ์ž ์Šน์ธ
๐Ÿš€ ๊ด€๋ฆฌ์ž ๋กœ๊ทธ์ธ ๐Ÿ” ๊ด€๋ฆฌ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
๊ด€๋ฆฌ์ž ๋กœ๊ทธ์ธ ๊ด€๋ฆฌ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
๐Ÿš€ ๊ด€๋ฆฌ์ž qna ๊ด€๋ฆฌ ๐Ÿ” ๊ด€๋ฆฌ์ž ๊ณต์ง€์‚ฌํ•ญ ๊ด€๋ฆฌ
๊ด€๋ฆฌ์ž qna ๊ด€๋ฆฌ ๊ด€๋ฆฌ์ž ๊ณต์ง€์‚ฌํ•ญ ๊ด€๋ฆฌ
๐Ÿš€ ๊ด€๋ฆฌ์ž faq ๊ด€๋ฆฌ ๐Ÿ” ๊ด€๋ฆฌ์ž ํšŒ์›,์•„์ดํ…œ,๊ฒŒ์‹œ๊ธ€ ๊ด€๋ฆฌ
๊ด€๋ฆฌ์ž faq ๊ด€๋ฆฌ ๊ด€๋ฆฌ์ž ํšŒ์›,์•„์ดํ…œ,๊ฒŒ์‹œ๊ธ€ ๊ด€๋ฆฌ


๐Ÿ‘ ํŠน์žฅ์  ๊ธฐ์ˆ 

โœจ๊ฐ์ฒด์ง€ํ–ฅ&๋„๋ฉ”์ธ์ง€ํ–ฅ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„

- ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์— ์ถฉ์‹คํ•˜๋„๋ก ๊ตฌํ˜„ (SRP) ![SRP](https://github.com/10geukbok/petkpetk/assets/110523580/6e0af18c-27c3-4150-8fea-ddb357375bcf) - ๊ฐ์ฒด ์Šค์Šค๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ฑ…์ž„ ๋ถ€์—ฌ (์บก์Šํ™”) ![์บก์Šํ™”](https://github.com/10geukbok/petkpetk/assets/110523580/5129e5b7-df57-4670-bb6e-7cea48b1090f) - ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋žŒ๋‹ค์‹์„ ์ด์šฉํ•œ ์ฑ…์ž„๊ณผ ์—ญํ•  ๋ถ„๋ฆฌ (OCP, ISP) ![OCP, ISP](https://github.com/10geukbok/petkpetk/assets/110523580/eedd5120-7199-48c7-9c46-3b9945d7b952) - ์ŠคํŠธ๋ฆผ API ์ ๊ทน ์ด์šฉ, if๋ถ„๊ธฐ๋ฌธ๊ณผ for๋ฐ˜๋ณต๋ฌธ ์ง€์–‘ ![๋ฐ˜๋ณต๋ฌธ ์ง€์–‘](https://github.com/10geukbok/petkpetk/assets/110523580/ca954f1f-41a1-4d6f-ad81-2f4801a489af)

โœจ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ, ์ฟผ๋ฆฌDsl ์ ๊ทน ํ™œ์šฉ Db๋กœ์ง ๊ตฌํ˜„

- ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•œ ๊ฐ€๋…์„ฑ ์ข‹๊ณ  ์œ ์—ฐํ•œ ์ฟผ๋ฆฌ ์ž‘์„ฑ ![์œ ์—ฐํ•œ ์ฟผ๋ฆฌ ์ž‘์„ฑ](https://github.com/10geukbok/petkpetk/assets/110523580/993bd234-b04f-462d-a7bb-2f4bf7306f6b) - ์ฟผ๋ฆฌ Dsl ํ™œ์šฉํ•œ ๋™์  ์ฟผ๋ฆฌ ์ž‘์„ฑ ๋ฐ ์ฟผ๋ฆฌ ์ตœ์ ํ™” ![์ฟผ๋ฆฌ ์ตœ์ ํ™”1](https://github.com/10geukbok/petkpetk/assets/110523580/66f6865c-2302-45cd-bd90-1334e932ebe8) ![์ฟผ๋ฆฌ ์ตœ์ ํ™”2](https://github.com/10geukbok/petkpetk/assets/110523580/21f6b9c0-b159-48db-b87f-8ad66303694d)


๐Ÿš€ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

๐Ÿง‘๐Ÿปโ€๐Ÿ’ป ๋…ธ์…˜ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

  1. UserAccount ์—”ํ‹ฐํ‹ฐ์˜ RoleType์„ ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?
  2. Address๋Š” ๋ญ๊ฐ€ ๋งž์•„? ๋‹ค๋Œ€์ผ vs. Embedded
  3. ์žฆ์€ Entity โ†” Dto ๋ณ€ํ™˜, ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์—†์„๊นŒ?
  4. ์ด๋ฏธ์ง€โ€ฆ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ๊น”๋”ํ• ๊นŒ?
  5. createdBy์— null์ด ๋œฌ๋‹ค๊ณ ?
  6. ์†Œ์…œ ์œ ์ €โ€ฆ ๋‹ค ์ข‹์€๋ฐ Security ์ธ์ฆ ๊ฐ์ฒด๋ž‘ ๋‹ค๋ฅด์ž–์•„!
  7. Google vs. Naver & Kakao ๋„ˆํฌ๋“ค ์™œ ๋‹ค๋ฅด๋ƒ ?!
  8. ์ด๋ฉ”์ผ ์ธ์ฆ ์ฝ”๋“œ, ์ž ๊น๋งŒ ๋ณด๊ด€ํ•ด์•ผ ํ•˜๋Š”๋ฐโ€ฆ
  9. ์„œ๋ฒ„์™€ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•
  10. ์ด๋Ÿด ๋•Œ๋„ flushing ์ด ํ•„์š”ํ•˜๋‹ค๊ณ ?
  11. @ManyToMany ํ•ด์‹œํƒœ๊ทธ ๊ตฌํ˜„ ์™„. ๊ทธ๋Ÿฐ๋ฐโ€ฆ
  12. @ManyToMany ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ?
  13. Security, ๋Œ€์‹ ํ•ด์ค˜์„œ ๊ณ ๋งˆ์šด๋ฐ ์ด๊ฑด ๋‚ด๊ฐ€ ํ• ๊ฒŒ
  14. ํ•œ๋ฒˆ์€ ๋งˆ์ฃผ์น  ์ค„ ์•Œ์•˜์ง€, ์œˆ๋„์šฐ vs. ๋งฅโ€ฆ
  15. ๋Œ€ํ‘œ ์ด๋ฏธ์ง€๋งŒ ๊ฐ€์ ธ์™€์ค˜!
  16. ๋ฆฌ๋ทฐ ๋ณ„์ , ์ˆ˜ํ•™์˜ ํž˜์„ ๋นŒ๋ ค๋ณด์ž
  17. @ResponseBody ๋„ˆ ํ•˜๋‚˜๋กœ ์ถฉ๋ถ„ํ–ˆ๊ตฌ๋‚˜?

๐ŸŽฏ ํ”„๋กœ์ ํŠธ ์ปจ๋ฒค์…˜

์Šคํฌ๋Ÿผ ๋ฐ ์ฝ”์–ดํƒ€์ž„

์ปค๋ฐ‹ ๊ทœ์น™



๊นƒํ—ˆ๋ธŒ



์ฝ”๋“œ

์ฝ”๋“œ ์ปจ๋ฒค์…˜์€ naver-intelliJ-formatter ๋ฅผ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์„ ์ค€์ˆ˜ํ•˜๋ฉด ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง€๊ณ  ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์ž ์žฌ์ ์ธ ์œ„ํ—˜ ์š”์†Œ๋ฅผ ์ค„์—ฌ์ค˜ ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Java ์—์„œ ๋Œ€์ค‘์ ์ธ '๋„ค์ด๋ฒ„์˜ ์ž๋ฐ” ์ปจ๋ฒค์…˜' ์„ ์ ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.