Skip to content

๐Ÿš† DDD course repository: DDD for The kitchen management system

Notifications You must be signed in to change notification settings

dev-yoonjung/ddd-strategic-design

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ํ‚ค์นœํฌ์Šค

ํ€ต ์Šคํƒ€ํŠธ

cd docker
docker compose -p kitchenpos up -d

์š”๊ตฌ ์‚ฌํ•ญ

์ƒํ’ˆ

  • ์ƒํ’ˆ์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์œผ๋ฉด ๋“ฑ๋กํ•  ์ˆ˜ ์—†๋‹ค.
    • ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ์€ 0์› ์ด์ƒ์ด์–ด์•ผ ํ•œ๋‹ค.
  • ์ƒํ’ˆ์˜ ์ด๋ฆ„์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์œผ๋ฉด ๋“ฑ๋กํ•  ์ˆ˜ ์—†๋‹ค.
    • ์ƒํ’ˆ์˜ ์ด๋ฆ„์—๋Š” ๋น„์†์–ด๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์—†๋‹ค.
  • ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์œผ๋ฉด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.
    • ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ์€ 0์› ์ด์ƒ์ด์–ด์•ผ ํ•œ๋‹ค.
  • ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ๋ฉ”๋‰ด์˜ ๊ฐ€๊ฒฉ์ด ๋ฉ”๋‰ด์— ์†ํ•œ ์ƒํ’ˆ ๊ธˆ์•ก์˜ ํ•ฉ๋ณด๋‹ค ํฌ๋ฉด ๋ฉ”๋‰ด๊ฐ€ ์ˆจ๊ฒจ์ง„๋‹ค.
  • ์ƒํ’ˆ์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฉ”๋‰ด ๊ทธ๋ฃน

  • ๋ฉ”๋‰ด ๊ทธ๋ฃน์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฉ”๋‰ด ๊ทธ๋ฃน์˜ ์ด๋ฆ„์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์œผ๋ฉด ๋“ฑ๋กํ•  ์ˆ˜ ์—†๋‹ค.
    • ๋ฉ”๋‰ด ๊ทธ๋ฃน์˜ ์ด๋ฆ„์€ ๋น„์›Œ ๋‘˜ ์ˆ˜ ์—†๋‹ค.
  • ๋ฉ”๋‰ด ๊ทธ๋ฃน์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฉ”๋‰ด

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

์ฃผ๋ฌธ ํ…Œ์ด๋ธ”

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

์ฃผ๋ฌธ

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

์šฉ์–ด ์‚ฌ์ „

0. ๊ธฐํƒ€

ํ•œ๊ธ€๋ช… ์˜๋ฌธ๋ช… ์„ค๋ช…
ํ‚ค์นœ ํฌ์Šค kitchen pos ๋งค์žฅ ์šด์˜ ๋ฐ ๋ฌผํ’ˆ ํŒ๋งค๋ฅผ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‹œ์Šคํ…œ
ํŒ๋งค์ž seller ๋งค์žฅ์—์„œ ๋ฉ”๋‰ด๋ฅผ ํŒ๋งค ๋ฐ ์ฃผ๋ฌธ์„ ๋ฐ›๋Š” ์‚ฌ๋žŒ
์†๋‹˜ customer ๋งค์žฅ์— ๋ˆ์„ ์ง€๋ถˆํ•˜๊ณ  ํŒ๋งค์ž์—๊ฒŒ ์ฃผ๋ฌธ์„ ํ•˜๋Š” ์‚ฌ๋žŒ
๋งค์žฅ store ํŒ๋งค์ž๊ฐ€ ๋ฉ”๋‰ด๋ฅผ ํŒ๋งค ๋ฐ ์ฃผ๋ฌธ์„ ๋ฐ›๋Š” ์žฅ์†Œ
์†๋‹˜์ด ์ฃผ๋ฌธํ•œ ๋ฉ”๋‰ด๋ฅผ ์‹์‚ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
๋น„์†์–ด profanity ์š•์„ค ๋ฐ ๋ถ€์ ์ ˆํ•œ ๋‹จ์–ด๋ฅผ ์ง€์นญ

1. ์ƒํ’ˆ

ํ•œ๊ธ€๋ช… ์˜๋ฌธ๋ช… ์„ค๋ช…
์ƒํ’ˆ product ํŒ๋งค์ž๊ฐ€ ํŒ”๊ณ ์ž ํ•˜๋Š” ์Œ์‹์„ ์˜๋ฏธํ•˜๋ฉฐ, ๋ฉ”๋‰ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ตœ์†Œ์˜ ๋‹จ์œ„
์ƒํ’ˆ ๊ฐ€๊ฒฉ product price ์ƒํ’ˆ์„ ๊ตฌ๋งคํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€๊ฒฉ
์ƒํ’ˆ ์ด๋ฆ„ product name ์ƒํ’ˆ์„ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ€๋ฅด๋Š” ๋ง
์ƒํ’ˆ ๋ชฉ๋ก products ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์ƒํ’ˆ์˜ ๋ชฉ๋ก
์ƒํ’ˆ์„ ๋“ฑ๋กํ•˜๋‹ค register product ์ƒํ’ˆ์„ ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋กํ•˜๋Š” ํ–‰์œ„
์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ์„ ๋ณ€๊ฒฝํ•˜๋‹ค change product price ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ํ•ด๋‹น ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ์„ ๋ณ€๊ฒฝํ•˜๋Š” ํ–‰์œ„
์ƒํ’ˆ์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋‹ค retrieve products ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์ƒํ’ˆ์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋Š” ํ–‰์œ„

2. ๋ฉ”๋‰ด๊ทธ๋ฃน

ํ•œ๊ธ€๋ช… ์˜๋ฌธ๋ช… ์„ค๋ช…
๋ฉ”๋‰ด ๊ทธ๋ฃน menu group ์—ฌ๋Ÿฌ ๋ฉ”๋‰ด๋ฅผ ๋ฌถ์–ด ๋ถ„๋ฅ˜ํ•˜์—ฌ ๊ทธ๋ฃนํ™”ํ•œ ๋‹จ์œ„
๋ฉ”๋‰ด ๊ทธ๋ฃน ์ด๋ฆ„ menu group name ๋ฉ”๋‰ด ๊ทธ๋ฃน์„ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ€๋ฅด๋Š” ๋ง
๋ฉ”๋‰ด ๊ทธ๋ฃน ๋ชฉ๋ก menu groups ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ๋ฉ”๋‰ด ๊ทธ๋ฃน ๋ชฉ๋ก
๋ฉ”๋‰ด ๊ทธ๋ฃน์„ ๋“ฑ๋กํ•˜๋‹ค register menu group ๋ฉ”๋‰ด ๊ทธ๋ฃน์„ ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋กํ•˜๋Š” ํ–‰์œ„
๋ฉ”๋‰ด ๊ทธ๋ฃน ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋‹ค retrieve menu group ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ๋ฉ”๋‰ด ๊ทธ๋ฃน์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋Š” ํ–‰์œ„

3. ๋ฉ”๋‰ด

ํ•œ๊ธ€๋ช… ์˜๋ฌธ๋ช… ์„ค๋ช…
๋ฉ”๋‰ด menu ์†๋‹˜์ด ์ฃผ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์œ„
๋ฉ”๋‰ด ๊ฐ€๊ฒฉ menu price ์†๋‹˜์ด ๋ฉ”๋‰ด๋ฅผ ์ฃผ๋ฌธํ•˜๊ธฐ ์œ„ํ•ด ์ง€๋ถˆํ•ด์•ผ ํ•˜๋Š” ๊ธˆ์•ก
๋ฉ”๋‰ด ์ด๋ฆ„ menu name ๋ฉ”๋‰ด๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ€๋ฅด๋Š” ๋ง
๋ฉ”๋‰ด ๋…ธ์ถœ ์—ฌ๋ถ€ displayed ์†๋‹˜์ด ํ•ด๋‹น ๋ฉ”๋‰ด๋ฅผ ์ฃผ๋ฌธํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ์ถœ๋˜์–ด ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์—ฌ๋ถ€
๋ฉ”๋‰ด ๋ชฉ๋ก menus ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ๋ฉ”๋‰ด์˜ ๋ชฉ๋ก
๋ฉ”๋‰ด์— ์†ํ•œ ์ƒํ’ˆ menu product ๋ฉ”๋‰ด๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ๋Š” ์ƒํ’ˆ
๋ฉ”๋‰ด์— ์†ํ•œ ์ƒํ’ˆ์˜ ์ˆ˜๋Ÿ‰ menu product quantity ๋ฉ”๋‰ด์— ์†ํ•œ ์ƒํ’ˆ์— ๋Œ€ํ•œ ์ˆ˜๋Ÿ‰
๋ฉ”๋‰ด์— ์†ํ•œ ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ menu product price ๋ฉ”๋‰ด์— ์†ํ•œ ์ƒํ’ˆ์— ๋Œ€ํ•œ ๊ฐ€๊ฒฉ
๋ฉ”๋‰ด์— ์†ํ•œ ์ƒํ’ˆ ๋ชฉ๋ก menu products ๋ฉ”๋‰ด๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ๋Š” ์ƒํ’ˆ๋“ค์˜ ๋ชฉ๋ก
๋ฉ”๋‰ด๋ฅผ ๋“ฑ๋กํ•˜๋‹ค register menu ๋ฉ”๋‰ด๋ฅผ ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋กํ•˜๋Š” ํ–‰์œ„
๋ฉ”๋‰ด ๊ฐ€๊ฒฉ์„ ๋ณ€๊ฒฝํ•˜๋‹ค change menu price ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ํ•ด๋‹น ๋ฉ”๋‰ด ๊ฐ€๊ฒฉ์„ ๋ณ€๊ฒฝํ•˜๋Š” ํ–‰์œ„
๋ฉ”๋‰ด๋ฅผ ๋…ธ์ถœํ•˜๋‹ค display menu ์†๋‹˜์ด ํ•ด๋‹น ๋ฉ”๋‰ด๋ฅผ ์ฃผ๋ฌธํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ์ถœํ•˜๋Š” ํ–‰์œ„
๋ฉ”๋‰ด๋ฅผ ์ˆจ๊ธฐ๋‹ค hide menu ์†๋‹˜์ด ํ•ด๋‹น ๋ฉ”๋‰ด๋ฅผ ์ฃผ๋ฌธํ•  ์ˆ˜ ์—†๋„๋ก ์ˆจ๊ธฐ๋Š” ํ–‰์œ„
๋ฉ”๋‰ด ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋‹ค retrieve menus ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ๋ฉ”๋‰ด์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋Š” ํ–‰์œ„

4. ์ฃผ๋ฌธํ…Œ์ด๋ธ”

ํ•œ๊ธ€๋ช… ์˜๋ฌธ๋ช… ์„ค๋ช…
์ฃผ๋ฌธ ํ…Œ์ด๋ธ” order table ๋งค์žฅ์—์„œ ์†๋‹˜์ด ๋ฉ”๋‰ด๋ฅผ ์†Œ๋น„ํ•  ์ˆ˜ ์žˆ๋Š” ํ…Œ์ด๋ธ”
์ฃผ๋ฌธ ํ…Œ์ด๋ธ” ์ด๋ฆ„ order table name ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์„ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ€๋ฅด๋Š” ๋ง
์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ” ์ด๋ฆ„ invalid order table name ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋กํ•  ์ˆ˜ ์—†๋Š” ์ฃผ๋ฌธ ํ…Œ์ด๋ธ” ์ด๋ฆ„
๋นˆ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ” empty order table ์•„๋ฌด๋„ ์•‰์ง€ ์•Š์€ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”
๋ฐฉ๋ฌธํ•œ ์†๋‹˜ ์ˆ˜ number of guest ํ˜„์žฌ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— ์•‰์•„ ์žˆ๋Š” ์†๋‹˜์˜ ์ˆ˜
์ฃผ๋ฌธ ํ…Œ์ด๋ธ” ์ ์œ  ์—ฌ๋ถ€ occupied ํ˜„์žฌ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— ์†๋‹˜์ด ์•‰์•„ ์žˆ๋Š” ์ง€์— ๋Œ€ํ•œ ์—ฌ๋ถ€
์ฃผ๋ฌธ ํ…Œ์ด๋ธ” ๋ชฉ๋ก order tables ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์˜ ๋ชฉ๋ก
์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์„ ๋“ฑ๋กํ•˜๋‹ค register order table ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์„ ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋กํ•˜๋Š” ํ–‰์œ„
์ •๋ฆฌํ•˜๋‹ค clear order table ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— ์•‰์•˜๋˜ ์†๋‹˜์ด ๋– ๋‚˜ ๋‹ค๋ฅธ ์†๋‹˜์ด ์•‰์„ ์ˆ˜ ์žˆ๋„๋ก ์ •๋ฆฌํ•˜๋Š” ํ–‰์œ„
์•‰๋‹ค sit order table ๋นˆ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— ์†๋‹˜์ด ์•‰๋Š” ํ–‰์œ„
์ฃผ๋ฌธ ํ…Œ์ด๋ธ” ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋‹ค retrieve order tables ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋Š” ํ–‰์œ„
๋ฐฉ๋ฌธํ•œ ์†๋‹˜ ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋‹ค change number of guest ํ˜„์žฌ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— ์•‰์•„ ์žˆ๋Š” ์†๋‹˜์˜ ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค.

5. ์ฃผ๋ฌธ

ํ•œ๊ธ€๋ช… ์˜๋ฌธ๋ช… ์„ค๋ช…
์ฃผ๋ฌธ order ์†๋‹˜์ด ๋ฉ”๋‰ด๋ฅผ ์†Œ๋น„ํ•˜๊ธฐ ์œ„ํ•ด ํŒ๋งค์ž์—๊ฒŒ ๋ฉ”๋‰ด๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒƒ
์ฃผ๋ฌธ ์œ ํ˜• order type ์†๋‹˜์—๊ฒŒ ๋ฉ”๋‰ด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ๊ตฌ๋ถ„
์ฃผ๋ฌธ ๋ชฉ๋ก orders ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์ฃผ๋ฌธ์˜ ๋ชฉ๋ก
์ฃผ๋ฌธ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋‹ค retrieve orders ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์ฃผ๋ฌธ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋Š” ํ–‰์œ„

5-1. ๋งค์žฅ ์ฃผ๋ฌธ

ํ•œ๊ธ€๋ช… ์˜๋ฌธ๋ช… ์„ค๋ช…
๋งค์žฅ ์ฃผ๋ฌธ eat in order ์†๋‹˜์ด ๋งค์žฅ์˜ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— ์•‰์•„ ๋ฉ”๋‰ด๋ฅผ ์†Œ๋น„ํ•˜๋Š” ์œ ํ˜•์˜ ์ฃผ๋ฌธ
๋งค์žฅ ์ฃผ๋ฌธ ์ผ์‹œ eat in order date time ์†๋‹˜์ด ํŒ๋งค์ž์—๊ฒŒ ๋งค์žฅ ์ฃผ๋ฌธ์„ ์š”์ฒญํ•œ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ
๋งค์žฅ ์ฃผ๋ฌธ ์ƒํƒœ eat in order status ํ˜„์žฌ ๋งค์žฅ ์ฃผ๋ฌธ์˜ ์ง„ํ–‰ ์ƒํƒœ
์ ‘์ˆ˜ ๋Œ€๊ธฐ waiting ์†๋‹˜์ด ์ฃผ๋ฌธํ•œ ํ›„ ํŒ๋งค์ž๊ฐ€ ์ ‘์ˆ˜ํ•˜๊ธฐ ์ „๊นŒ์ง€์˜ ์ƒํƒœ
์ ‘์ˆ˜ accepted ํŒ๋งค์ž๊ฐ€ ์ฃผ๋ฌธ๊ฑด์— ๋Œ€ํ•ด ์ ‘์ˆ˜๋ฅผ ํ•œ ์ƒํƒœ
์„œ๋น™ served ํŒ๋งค์ž๊ฐ€ ๋ฉ”๋‰ด ์ค€๋น„๋ฅผ ์™„๋ฃŒํ•œ ํ›„ ๋งค์žฅ์˜ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”๋กœ ์ „๋‹ฌํ•œ ์ƒํƒœ
์ฃผ๋ฌธ ์™„๋ฃŒ completed ์ฃผ๋ฌธ์ด ์™„๋ฃŒ๋œ ์ƒํƒœ
๋งค์žฅ ์ฃผ๋ฌธ ํ•ญ๋ชฉ eat in order line item ์†๋‹˜์ด ๋งค์žฅ ์ฃผ๋ฌธํ•œ ๋ฉ”๋‰ด ๋ชฉ๋ก์˜ ํ•ญ๋ชฉ
๋งค์žฅ ์ฃผ๋ฌธ ํ•ญ๋ชฉ ์ˆ˜๋Ÿ‰ eat in order line item quantity ๋งค์žฅ ์ฃผ๋ฌธ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ˆ˜๋Ÿ‰
๋งค์žฅ ์ฃผ๋ฌธ ํ•ญ๋ชฉ ๊ฐ€๊ฒฉ eat in order line item price ๋งค์žฅ ์ฃผ๋ฌธ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๊ฐ€๊ฒฉ
๋งค์žฅ ์ฃผ๋ฌธ์„ ๋“ฑ๋กํ•˜๋‹ค register eat in order ๋งค์žฅ ์ฃผ๋ฌธ์„ ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋กํ•˜๋Š” ํ–‰์œ„

5-2. ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ

ํ•œ๊ธ€๋ช… ์˜๋ฌธ๋ช… ์„ค๋ช…
๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ delivery order ์†๋‹˜์ด ๋งค์žฅ์— ๋ฐฉ๋ฌธํ•˜์—ฌ ์š”์ฒญํ•œ ๋ฉ”๋‰ด๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐ€๋Š” ์œ ํ˜•์˜ ์ฃผ๋ฌธ
๋ฐฐ๋‹ฌ ์ฃผ์†Œ delivery address ์†๋‹˜์ด ์ฃผ๋ฌธํ•œ ์ฃผ๋ฌธ ํ•ญ๋ชฉ์„ ๋ฐฐ๋‹ฌํ•ด์•ผ ํ•˜๋Š” ์ฃผ์†Œ
๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ ์ผ์‹œ delivery order date time ์†๋‹˜์ด ํŒ๋งค์ž์—๊ฒŒ ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ์„ ์š”์ฒญํ•œ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ
๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ ์ƒํƒœ delivery order status ํ˜„์žฌ ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ์˜ ์ง„ํ–‰ ์ƒํƒœ
์ ‘์ˆ˜ ๋Œ€๊ธฐ waiting ์†๋‹˜์ด ์ฃผ๋ฌธํ•œ ํ›„ ํŒ๋งค์ž๊ฐ€ ์ ‘์ˆ˜ํ•˜๊ธฐ ์ „๊นŒ์ง€์˜ ์ƒํƒœ
์ ‘์ˆ˜ accepted ํŒ๋งค์ž๊ฐ€ ์ฃผ๋ฌธ๊ฑด์— ๋Œ€ํ•ด ์ ‘์ˆ˜๋ฅผ ํ•œ ์ƒํƒœ
์„œ๋น™ served ํŒ๋งค์ž๊ฐ€ ๋ฉ”๋‰ด ์ค€๋น„๋ฅผ ์™„๋ฃŒํ•œ ํ›„ ์†๋‹˜์—๊ฒŒ ๋ฐฐ๋‹ฌ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ๋‹ฌ ๊ธฐ์‚ฌ์—๊ฒŒ ๋ฉ”๋‰ด๋ฅผ ์ „๋‹ฌํ•œ ์ƒํƒœ
๋ฐฐ๋‹ฌ ์ค‘ delivering ๋ฉ”๋‰ด๋ฅผ ์ „๋‹ฌ๋ฐ›์€ ๋ฐฐ๋‹ฌ ๊ธฐ์‚ฌ๊ฐ€ ์†๋‹˜์—๊ฒŒ ๋ฐฐ๋‹ฌ ์ค‘์ธ ์ƒํƒœ
๋ฐฐ๋‹ฌ ์™„๋ฃŒ delivered ๋ฐฐ๋‹ฌ ๊ธฐ์‚ฌ๊ฐ€ ์†๋‹˜์ด ์š”์ฒญํ•œ ๋ฐฐ๋‹ฌ ์ฃผ์†Œ์— ๋ฉ”๋‰ด ๋ฐฐ๋‹ฌ์ด ์™„๋ฃŒ๋œ ์ƒํƒœ
์ฃผ๋ฌธ ์™„๋ฃŒ completed ์ฃผ๋ฌธ์ด ์™„๋ฃŒ๋œ ์ƒํƒœ
๋ฐฐ๋‹ฌ ๋Œ€ํ–‰์‚ฌ delivery agency ์ฃผ๋ฌธ์— ๋Œ€ํ•œ ๋ฐฐ๋‹ฌ์„ ๋Œ€์‹  ์ˆ˜ํ–‰ํ•ด์ฃผ๋Š” ๋Œ€ํ–‰์‚ฌ
๋ฐฐ๋‹ฌ ๊ธฐ์‚ฌ delivery rider ์†๋‹˜์—๊ฒŒ ๋ฉ”๋‰ด๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ๋‹ฌ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฐ๋‹ฌ ๋Œ€ํ–‰์‚ฌ ์†Œ์† ๋ผ์ด๋”
๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ ํ•ญ๋ชฉ delivery order line item ์†๋‹˜์ด ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธํ•œ ๋ฉ”๋‰ด ๋ชฉ๋ก์˜ ํ•ญ๋ชฉ
๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ ํ•ญ๋ชฉ ์ˆ˜๋Ÿ‰ delivery order line item quantity ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ˆ˜๋Ÿ‰
๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ ํ•ญ๋ชฉ ๊ฐ€๊ฒฉ delivery order line item price ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๊ฐ€๊ฒฉ
๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ์„ ๋“ฑ๋กํ•˜๋‹ค register delivery order ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ์„ ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋กํ•˜๋Š” ํ–‰์œ„
๋ฐฐ๋‹ฌ ๋Œ€ํ–‰์‚ฌ์— ๋ฐฐ๋‹ฌ์„ ์š”์ฒญํ•˜๋‹ค request delivery to delivery agency ํŒ๋งค์ž๊ฐ€ ์†๋‹˜์—๊ฒŒ ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ ํ•ญ๋ชฉ์„ ๋ฐฐ๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ๋‹ฌ ๋Œ€ํ–‰์‚ฌ์— ๋ฐฐ๋‹ฌ์„ ์š”์ฒญํ•˜๋Š” ํ–‰์œ„

5-3. ํฌ์žฅ ์ฃผ๋ฌธ

ํ•œ๊ธ€๋ช… ์˜๋ฌธ๋ช… ์„ค๋ช…
ํฌ์žฅ ์ฃผ๋ฌธ takeout order ์†๋‹˜์ด ๋งค์žฅ์— ๋ฐฉ๋ฌธํ•˜์—ฌ ์š”์ฒญํ•œ ๋ฉ”๋‰ด๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐ€๋Š” ์œ ํ˜•์˜ ์ฃผ๋ฌธ
ํฌ์žฅ ์ฃผ๋ฌธ ์ผ์‹œ takeout order date time ์†๋‹˜์ด ํŒ๋งค์ž์—๊ฒŒ ํฌ์žฅ ์ฃผ๋ฌธ์„ ์š”์ฒญํ•œ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ
ํฌ์žฅ ์ฃผ๋ฌธ ์ƒํƒœ takeout order status ํ˜„์žฌ ํฌ์žฅ ์ฃผ๋ฌธ์˜ ์ง„ํ–‰ ์ƒํƒœ
์ ‘์ˆ˜ ๋Œ€๊ธฐ waiting ์†๋‹˜์ด ์ฃผ๋ฌธํ•œ ํ›„ ํŒ๋งค์ž๊ฐ€ ์ ‘์ˆ˜ํ•˜๊ธฐ ์ „๊นŒ์ง€์˜ ์ƒํƒœ
์ ‘์ˆ˜ accepted ํŒ๋งค์ž๊ฐ€ ์ฃผ๋ฌธ๊ฑด์— ๋Œ€ํ•ด ์ ‘์ˆ˜๋ฅผ ํ•œ ์ƒํƒœ
์„œ๋น™ served ํŒ๋งค์ž๊ฐ€ ๋ฉ”๋‰ด ์ค€๋น„๋ฅผ ์™„๋ฃŒํ•œ ํ›„ ์†๋‹˜์ด ๋งค์žฅ์— ๋ฐฉ๋ฌธํ•˜์—ฌ ๋ฉ”๋‰ด๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐ„ ์ƒํƒœ
์ฃผ๋ฌธ ์™„๋ฃŒ completed ์ฃผ๋ฌธ์ด ์™„๋ฃŒ๋œ ์ƒํƒœ
ํฌ์žฅ ์ฃผ๋ฌธ ํ•ญ๋ชฉ takeout order line item ์†๋‹˜์ด ํฌ์žฅ ์ฃผ๋ฌธํ•œ ๋ฉ”๋‰ด ๋ชฉ๋ก์˜ ํ•ญ๋ชฉ
ํฌ์žฅ ์ฃผ๋ฌธ ํ•ญ๋ชฉ ์ˆ˜๋Ÿ‰ takeout order line item quantity ํฌ์žฅ ์ฃผ๋ฌธ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ˆ˜๋Ÿ‰
ํฌ์žฅ ์ฃผ๋ฌธ ํ•ญ๋ชฉ ๊ฐ€๊ฒฉ takeout order line item price ํฌ์žฅ ์ฃผ๋ฌธ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๊ฐ€๊ฒฉ
ํฌ์žฅ ์ฃผ๋ฌธ์„ ๋“ฑ๋กํ•˜๋‹ค register takeout order ํฌ์žฅ ์ฃผ๋ฌธ์„ ํฌ์Šค ์‹œ์Šคํ…œ์— ๋“ฑ๋กํ•˜๋Š” ํ–‰์œ„

๋ชจ๋ธ๋ง

์ƒํ’ˆ(Product)

  • Product๋Š” ์‹๋ณ„์ž์™€ profanity๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ productName ๊ทธ๋ฆฌ๊ณ  0์› ์ด์ƒ์˜ productPrice๋ฅผ ๊ฐ€์ง„๋‹ค.

๋ฉ”๋‰ด(Menu)

  • MenuGroup์€ ์‹๋ณ„์ž์™€ ๊ณต๋ฐฑ์ด ์•„๋‹Œ menuGroupName์„ ๊ฐ€์ง„๋‹ค.

-Menu๋Š” ์‹๋ณ„์ž์™€ profanity๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ menuName, 0์› ์ด์ƒ์˜ menuPrice, ๋ฉ”๋‰ด ๋…ธ์ถœ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” displayed, ๊ทธ๋ฆฌ๊ณ  menuProduct๋“ค์„ ๊ฐ€์ง„๋‹ค.

  • Menu๋Š” ๋ฐ˜๋“œ์‹œ MenuGroup์— ์†ํ•ด์žˆ์–ด์•ผ ํ•œ๋‹ค.

  • Menu๋Š” menuProduct๋“ค์˜ ๊ฐ€๊ฒฉ(menuProductQuantity * menuProductPrice)๋“ค์˜ ํ•ฉ๊ณ„๋ณด๋‹ค ๊ฐ€๊ฒฉ์ด ๋†’์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฐ€๊ฒฉ์ •์ฑ…์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

  • Menu๋Š” ๊ฐ€๊ฒฉ์ •์ฑ… ๋‚ด์—์„œ menuPrice๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๊ฐ€๊ฒฉ์ •์ฑ…์ด ์ง€์ผœ์ง„ Menu๋Š” ๊ณ ๊ฐ์ด ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Menu๋ฅผ ๊ณ ๊ฐ์ด ๋ณผ ์ˆ˜ ์—†๋„๋ก ์ˆจ๊ธธ ์ˆ˜ ์žˆ๋‹ค.

  • MenuProduct๋Š” profanity๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ productName, 0์› ์ด์ƒ์˜ productPrice, ๊ทธ๋ฆฌ๊ณ  0๊ฐœ ์ด์ƒ์˜ menuProductQuantity๋ฅผ ๊ฐ€์ง„๋‹ค.

๋งค์žฅ ์ฃผ๋ฌธ(Eat in Order)

  • OrderTable์€ ์‹๋ณ„์ž, ๊ณต๋ฐฑ์ด ์•„๋‹Œ orderTableName, 0๋ช… ์ด์ƒ์˜ numberOfGuest, ๊ทธ๋ฆฌ๊ณ  ํ˜„์žฌ ๊ณ ๊ฐ์ด ์•‰์•„ ์žˆ๋Š”์ง€ ํ…Œ์ด๋ธ”์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ occupied๋ฅผ ๊ฐ€์ง„๋‹ค.

  • completed๋˜์ง€ ์•Š์€ Order๊ฐ€ ์—†๋Š” OrderTable์€ ๊ณ ๊ฐ์ด ์•‰์„ ์ˆ˜ ์žˆ๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

  • OrderTable์— ๊ณ ๊ฐ์ด ์•‰์„ ์ˆ˜ ์žˆ๋‹ค.

  • ๊ณ ๊ฐ์ด ์•‰์•„ ์žˆ๋Š” OrderTable์€ numberOfGuest๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

  • EatInOrderLineItem์€ ๊ณ ๊ฐ์—๊ฒŒ ๋…ธ์ถœ๋˜์–ด ์žˆ๋Š” Menu, eatInOrderLineItemPrice ๊ทธ๋ฆฌ๊ณ  eatInOrderLineItemQuantity๋ฅผ ๊ฐ€์ง„๋‹ค.

  • EatInOrder๋Š” ์‹๋ณ„์ž, eatInOrderStatus, eatInOrderDateTime, ๊ณ ๊ฐ์ด ์•‰์•„ ์žˆ๋Š” OrderTable ๊ทธ๋ฆฌ๊ณ  1๊ฐœ ์ด์ƒ์˜ EatInOrderLineItem์„ ๊ฐ€์ง„๋‹ค.

  • EatInOrder์€ WAITING โ–ถ๏ธŽ ACCEPTED โ–ถ๏ธŽ SERVED โ–ถ๏ธŽ COMPLETED์˜ ์ˆœ์„œ๋กœ ์ฃผ๋ฌธ์ด ์ง„ํ–‰๋œ๋‹ค.

๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ(Delivery Order)

  • DeliveryOrderLineItem์€ ๊ณ ๊ฐ์—๊ฒŒ ๋…ธ์ถœ๋˜์–ด ์žˆ๋Š” Menu, deliveryOrderLineItemPrice ๊ทธ๋ฆฌ๊ณ  0๊ฐœ ์ด์ƒ์˜ deliveryOrderLineItemQuantity๋ฅผ ๊ฐ€์ง„๋‹ค.

  • DeliveryOrder๋Š” ์‹๋ณ„์ž, deliveryOrderStatus, deliveryOrderDateTime, ๊ณต๋ฐฑ์ผ ์ˆ˜ ์—†๋Š” deliveryAddress, ๊ทธ๋ฆฌ๊ณ  1๊ฐœ ์ด์ƒ์˜ DeliveryOrderLineItem์„ ๊ฐ€์ง„๋‹ค.

  • DeliveryOrder์€ WAITING โ–ถ๏ธŽ ACCEPTED โ–ถ๏ธŽ SERVED โ–ถ๏ธŽ DELIVERING โ–ถ๏ธŽ DELIVERED โ–ถ๏ธŽ COMPLETED์˜ ์ˆœ์„œ๋กœ ์ฃผ๋ฌธ์ด ์ง„ํ–‰๋œ๋‹ค.

ํฌ์žฅ ์ฃผ๋ฌธ(Takeout Order)

  • TakeoutOrderLineItem์€ ๊ณ ๊ฐ์—๊ฒŒ ๋…ธ์ถœ๋˜์–ด ์žˆ๋Š” Menu, takeoutOrderLineItemPrice ๊ทธ๋ฆฌ๊ณ  0๊ฐœ ์ด์ƒ์˜ deliveryOrderLineItemQuantity๋ฅผ ๊ฐ€์ง„๋‹ค.

  • TakeoutOrder๋Š” ์‹๋ณ„์ž, takeoutOrderStatus, takeoutOrderDateTime, ๊ทธ๋ฆฌ๊ณ  1๊ฐœ ์ด์ƒ์˜ TakeoutOrderLineItem์„ ๊ฐ€์ง„๋‹ค.

  • TakeoutOrder์€ WAITING โ–ถ๏ธŽ ACCEPTED โ–ถ๏ธŽ SERVED โ–ถ๏ธŽ COMPLETED์˜ ์ˆœ์„œ๋กœ ์ฃผ๋ฌธ์ด ์ง„ํ–‰๋œ๋‹ค.

About

๐Ÿš† DDD course repository: DDD for The kitchen management system

Topics

Resources

Stars

Watchers

Forks

Languages

  • Java 100.0%