healthmate-finder

๐Ÿ’ช healthmate finder ‘Helparty’

“๋‚˜์˜ ํ—ฌ์Šค ์นœ๊ตฌ Helparty”

์šด๋™์„ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋ชจ๋‘ ํ—ฌ์Šค์žฅ์„ ๊ฐ€์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•˜์ง€๋งŒ ๋ฐœ์ด ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ๊ฒฝํ—˜์„ ํ•œ ์ ์ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿด ๋•Œ ๋‚˜๋ž‘ ๊ฐ™์ด ๋‹ค๋‹ ์นœ๊ตฌ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ข‹์„ ํ…๋ฐ๋ผ๊ณ  ํ˜ผ์ž ์ƒ๊ฐํ•˜๊ณ  ๋ง์•˜์„ ๊ฒ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ—ฌ์Šค ๊ฐ™์ด ํ•  ๋™๋„ค ์นœ๊ตฌ ๋งค์นญ ์‹œ์ผœ์ฃผ๋Š” ์„œ๋น„์Šค ‘Helparty’ ์ž…๋‹ˆ๋‹ค!

ํ”„๋กœ์ ํŠธ์˜ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋„ (2)

DB ERD

helparty erd

ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

  • ์„ฑ๋Šฅ์„ ์ƒ๊ฐํ•˜๋ฉด์„œ ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋„๋ก ๋…ธ๋ ฅํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ๊ฐ์ฒด์ง€ํ–ฅ ์›์น™์„ ๋”ฐ๋ฅด๋ฉฐ ํ™•์žฅ์„ฑ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ ์ž ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ ์ž ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ˜‘์—…์„ ํ•œ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์‰ฝ๊ฒŒ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์— ์œ ์˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ๊ณ ๋ฆฝ๋œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์œผ๋กœ ๋‹ค๋ฅธ ์ฝ”๋“œ์— ์˜์กด์ ์ด์ง€ ์•Š์€ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ธฐ์ˆ 

  1. Java 11
  2. Spring Boot
  3. JUnit
  4. MySQL
  5. MyBatis
  6. Redis
  7. Jenkins
  8. Naver Cloud

ํ”„๋กœ์ ํŠธ ์ค‘์  ์‚ฌํ•ญ

  • GitFlow๋ฅผ ์ด์šฉํ•œ ๋ณ‘๋ ฌ์  ๊ฐœ๋ฐœ ๋ฐฉ์‹
  • ์ฝ”๋“œ์˜ ๋ชฉ์ ์„ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ
  • ๊ฐ์ฒด์ง€ํ–ฅ ์ฝ”๋“œ ์ž‘์„ฑ๋ฒ•์œผ๋กœ ํ™•์žฅ์„ฑ ์œ ์ง€
  • ์ž‘์„ฑ๋œ Layer์— ๊ณ ๋ฆฝ์‹œ์ผœ ์˜์กด์ ์ด์ง€ ์•Š์€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ
  • ๋ฐ˜๋ณต๋˜๋Š” ๋กœ์ง์„ ํ•ต์‹ฌ ๋กœ์ง์œผ๋กœ๋ถ€ํ„ฐ ๋ถ„๋ฆฌ (feat. AOP, ArgumentHandlerResolver, Interceptor)
  • ์  ํ‚จ์Šค๋ฅผ ์‚ฌ์šฉํ•œ CI/CD ํ™˜๊ฒฝ ๊ตฌ์ถ•
  • ํ•˜๋‚˜์˜ ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์— ํ•˜๋‚˜์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋†’์€ ํ™•์žฅ์„ฑ ์œ ์ง€
  • ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์— ์˜ํ•ด ์ค‘๋ณต๋  ํŽ˜์ด์ง€ ์กฐํšŒ์— Redis cache๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ ๊ฐœ์„ 
  • Redis์˜ Session Server๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Session ์ •ํ•ฉ์„ฑ ์œ ์ง€
  • Log4J2๋ฅผ ๋กœ๊ทธ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์˜ ๋ถ€๋‹ด ์ตœ์†Œํ™”
  • NginX์˜ Reverse-Proxy๋ฅผ ์ด์šฉํ•œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ๊ตฌํ˜„
  • DB Replication์„ ๊ตฌํ˜„ํ•˜์—ฌ DB ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • MySql์ฟผ๋ฆฌ์˜ ์‹คํ–‰๊ณ„ํš ๋ถ„์„ ํ›„ ์ฟผ๋ฆฌํŠœ๋‹์„ ํ†ตํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ

์ด์Šˆ ํ•ด๊ฒฐ ๊ณผ์ •

  • [#9] ๋ถ€ํ•˜ ๋ถ„์‚ฐ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด์ค‘ํ™” ์ž‘์—… – MySQL Replication
    https://hamryt.tistory.com/12

  • [#8] Ngrinder๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ฑ๋Šฅํ…Œ์ŠคํŠธํ•˜๊ธฐ
    https://hamryt.tistory.com/11

  • [#7] ์  ํ‚จ์Šค๋ฅผ ์ด์šฉํ•œ CI/CD ํ™˜๊ฒฝ ๊ตฌ์ถ•

  • [#6] ์ฟผ๋ฆฌ์˜ ์„ฑ๋Šฅ ํŠœ๋‹
    https://hamryt.tistory.com/10?category=961846

  • [#5] ํ”„๋กœ์ ํŠธ์—๋Š” ์–ด๋–ค Log ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ• ๊นŒ? LogBack vs Log4J2
    https://hamryt.tistory.com/9?category=961846

  • [#4] ์„ธ์…˜ ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋กœ์ง์„ HandleMethodArgumentResolver๋ฅผ ํ†ตํ•ด ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •
    https://hamryt.tistory.com/8?category=961846

  • [#3] ๋กœ๊ทธ์ธ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ถ€๊ฐ€ ๋กœ์ง์€ ์–ด๋–ป๊ฒŒ ํ•ต์‹ฌ๋กœ์ง์—์„œ ๋ถ„๋ฆฌํ• ๊นŒ?
    https://hamryt.tistory.com/7?category=961846

  • [#2] Scale Out์„ ํ†ตํ•œ ์„œ๋ฒ„ ์ฆ์„ค ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์„ธ์…˜ ์ •ํ•ฉ์„ฑ ๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ• ๊นŒ? – Sticky Session, Session Clustering, Session Storage
    https://hamryt.tistory.com/4?category=961846
    https://hamryt.tistory.com/3?category=961846

  • [#1] ์„œ๋ฒ„ ์ฆ์„ค์€ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ• ๊นŒ? – Scale out vs Scale Up
    https://hamryt.tistory.com/1?category=961846

ํ™”๋ฉด์„ค๊ณ„

kakao oven –https://ovenapp.io/view/ZmMg4lnHw2iVSxfO0UwY1NzTOkWoNsiZ/liSyR

Helparty ํ”„๋กœํ† ํƒ€์ž…

๊ธฐ๋Šฅ ์ •์˜

๊นƒํ—™ ํ”Œ๋กœ์šฐ

Visit original content creator repository https://github.com/f-lab-edu/healthmate-finder

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *