๐Ÿš€ Spring Boot ๊ธฐ๋ฐ˜ AI ์Œ์‹ ์ฃผ๋ฌธ ๊ด€๋ฆฌ ํ”Œ๋žซํผ ๊ฐœ๋ฐœ๊ธฐ

ํ•œ์†Œ์—ฐยท2026๋…„ 2์›” 24์ผ

๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

๋ชฉ๋ก ๋ณด๊ธฐ
2/20
post-thumbnail

ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” โ€˜00์˜ ๋ฏผ์กฑโ€™๊ณผ ๊ฐ™์€ ์Œ์‹ ์ฃผ๋ฌธ ๊ด€๋ฆฌ ํ”Œ๋žซํผ์„
Spring Boot ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„ ํ•  ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

๊ธฐ์กด ์ „ํ™” ์ฃผ๋ฌธ ๋ฐฉ์‹์ด ์•„๋‹Œ,
์˜จ๋ผ์ธ์„ ํ†ตํ•œ ์ฃผ๋ฌธ โ†’ ๊ฒฐ์ œ โ†’ ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ โ†’ ๋ฐฐ์†ก ์™„๋ฃŒ ํ๋ฆ„์„ ์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค.

โœ… ํ”„๋กœ์ ํŠธ ํ•ต์‹ฌ ์ฐจ๋ณ„์ 

  • JWT ๊ธฐ๋ฐ˜ ์ธ์ฆ/์ธ๊ฐ€ ์„ค๊ณ„
  • Soft Delete ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ๋ณด์กด
  • ์ƒ์„ฑํ˜• AI API ์—ฐ๋™ (์ƒํ’ˆ ์„ค๋ช… ์ž๋™ ์ƒ์„ฑ)
  • ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•œ ๊ณ„์ธตํ˜• ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„

๊ธฐ์ˆ  ์Šคํƒ

๊ตฌ๋ถ„๊ธฐ์ˆ 
BackendSpring Boot
DBPostgreSQL
BuildGradle
SecuritySpring Security + JWT
AIAI API(๋ฏธ์ •)
CollaborationGit + PR

์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„

๐Ÿ“Œ 1. ๋ชจ๋†€๋ฆฌ์‹ + Layered Architecture

ํ”„๋กœ์ ํŠธ๋Š” ๋ชจ๋†€๋ฆฌ์‹ ๊ตฌ์กฐ๋กœ ๊ฐœ๋ฐœํ•˜๋˜,
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณ„์ธตํ˜• ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

Controller โ†’ Service โ†’ Repository โ†’ DB


๐Ÿ“Œ 2. ERD ์„ค๊ณ„ ํ•ต์‹ฌ ํฌ์ธํŠธ

์ฃผ์š” ๋„๋ฉ”์ธ

  • User
  • UserAddress
  • Store
  • Category
  • Menu
  • Order
  • Payment
  • Review
  • AI_log

์„ค๊ณ„ ํŠน์ง•

  • ๋ชจ๋“  ์ฃผ์š” ์—”ํ‹ฐํ‹ฐ์— UUID ์‚ฌ์šฉ
  • Soft Delete ์ ์šฉ (deleted_at)
  • Audit ํ•„๋“œ ์ ์šฉ (created_at, updated_at)
  • Role ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด

์ฃผ๋ฌธ ์ƒํƒœ ํ๋ฆ„ ์„ค๊ณ„

๐Ÿ“ฆ ์ฃผ๋ฌธ ํ”„๋กœ์„ธ์Šค

CUSTOMER โ†’ ์ฃผ๋ฌธ ์š”์ฒญ
OWNER โ†’ ์ฃผ๋ฌธ ์ˆ˜๋ฝ/๊ฑฐ์ ˆ
OWNER โ†’ ์กฐ๋ฆฌ ์™„๋ฃŒ
OWNER โ†’ ๋ฐฐ์†ก ์™„๋ฃŒ


์ƒ์„ฑํ˜• AI API ์—ฐ๋™

๐Ÿ“Œ ๊ธฐ๋Šฅ

์ƒํ’ˆ ๋“ฑ๋ก ์‹œ:

  • AI ์„ค๋ช… ์ƒ์„ฑ ์—ฌ๋ถ€ true or ์ง์ ‘ ์ž‘์„ฑ

๐Ÿ“Œ AI ์š”์ฒญ ๋กœ๊ทธ ํ…Œ์ด๋ธ” ๋ถ„๋ฆฌ

AI ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋ณ„๋„ ํ…Œ์ด๋ธ”์— ์ €์žฅ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ด์œ 

  • AI ์‘๋‹ต ๋ถ„์„ ๊ฐ€๋Šฅ
  • ๋น„์šฉ ์ถ”์  ๊ฐ€๋Šฅ
  • ๋ชจ๋ธ ๋ณ€๊ฒฝ ๋Œ€๋น„
  • ์žฅ์•  ๋ฐœ์ƒ ์‹œ ์ถ”์  ๊ฐ€๋Šฅ

ํ˜‘์—… ์ „๋žต

  • ๊ธฐ๋Šฅ ๋‹จ์œ„ ๋ธŒ๋žœ์น˜ ์ „๋žต
  • ์ž‘์€ ๋‹จ์œ„ PR
  • PR ์„ค๋ช…์— ๋ณ€๊ฒฝ ์˜๋„ ๋ช…ํ™•ํžˆ ์ž‘์„ฑ
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ ๊ทน ๋ฐ˜์˜

๐Ÿ“Œ ๋งˆ๋ฌด๋ฆฌ

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ๋‹จ์ˆœ CRUD๋ฅผ ๋„˜์–ด:

  • ์ธ์ฆ/์ธ๊ฐ€ ์„ค๊ณ„
  • ์ƒ์„ฑํ˜• AI ์—ฐ๋™
  • ํ™•์žฅ์„ฑ ์žˆ๋Š” ๊ตฌ์กฐ ์„ค๊ณ„

๊นŒ์ง€ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฑ์—”๋“œ ์‹ฌํ™” ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

์˜ค๋Š˜์€ ํ”„๋กœ์ ํŠธ ์ฃผ์ œ์˜ ๋ฐฉํ–ฅ์„ฑ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค.
์•ž์œผ๋กœ ์ข€ ๋” ๊ณ ๋ฏผ์„ ํ•ด๋ณด๊ณ  ์•„ํ‚คํ…์ณ๋ฅผ ๊ตฌํ˜„ํ•ด ๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

profile
์•ˆ ๋˜๋ฉด ๋  ๋•Œ๊นŒ์ง€

0๊ฐœ์˜ ๋Œ“๊ธ€