Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

๐Ÿš€ 2๋‹จ๊ณ„ - ๋ชจ๋ธ๋ง ํ•˜๊ธฐ #485

Open
wants to merge 2 commits into
base: jwoo-o
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 75 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,26 +94,33 @@ docker compose -p kitchenpos up -d
- ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ๋งค์žฅ ์ฃผ๋ฌธ์ด ์žˆ๋Š” ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์€ ๋นˆ ํ…Œ์ด๋ธ”๋กœ ์„ค์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.
- ์ฃผ๋ฌธ ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

## ์šฉ์–ด ์‚ฌ์ „
## ๋ชจ๋ธ๋ง

### ์ƒํ’ˆ

#### ์šฉ์–ด ์‚ฌ์ „
| ํ•œ๊ธ€๋ช… | ์˜๋ฌธ๋ช… | ์„ค๋ช… |
|------|---------------|------------------------------------|
| ์ƒํ’ˆ | Product | ๊ณ ๊ฐ์—๊ฒŒ ํŒ๋งค๋ฅผ ๋ชฉ์ ์œผ๋กœ ๋ณด์œ ํ•œ ๋ฌผ๊ฑด์œผ๋กœ ๋ฉ”๋‰ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ์œ„ |
| ์ƒํ’ˆ์ด๋ฆ„ | Product Name | ์ƒํ’ˆ์˜ ์ด๋ฆ„, ๋น„์†์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. |
| ๋น„์†์–ด | profanity | ์š•์„ค ๋˜๋Š” ์ €์†ํ•œ ํ‘œํ˜„. |
| ์ƒํ’ˆ๊ฐ€๊ฒฉ | Product Price | ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ, 0์› ์ด์ƒ์ด์—ฌ์•ผ ํ•œ๋‹ค. |

### ๋ฉ”๋‰ด๊ทธ๋ฃน
#### ์†์„ฑ
- `Product`๋Š” `UUID` `Product Name`, `Product Price`์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

#### ๊ธฐ๋Šฅ
- `Product Price`๋Š” 0๋ณด๋‹ค ํฐ ๊ฐ’์ด์–ด์•ผ ํ•œ๋‹ค.'
- `Product Name`์—๋Š” `profanity`๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์—†๋‹ค.

### ๋ฉ”๋‰ด

#### ์šฉ์–ด ์‚ฌ์ „
| ํ•œ๊ธ€๋ช… | ์˜๋ฌธ๋ช… | ์„ค๋ช… |
|----------|-----------------|--------------------------------|
| ๋ฉ”๋‰ด ๊ทธ๋ฃน | Menu Group | ๋ฉ”๋‰ด์˜ ์ง‘ํ•ฉ์ด๋ฉฐ, ๋ฉ”๋‰ด๋Š” ํŠน์ •ํ•œ ๋ฉ”๋‰ด๊ทธ๋ฃน์— ์†ํ•ด์•ผํ•œ๋‹ค. |
| ๋ฉ”๋‰ด ๊ทธ๋ฃน ์ด๋ฆ„ | Menu Group Name | ๋ฉ”๋‰ด ๊ทธ๋ฃน์˜ ์ด๋ฆ„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. |

### ๋ฉ”๋‰ด

| ํ•œ๊ธ€๋ช… | ์˜๋ฌธ๋ช… | ์„ค๋ช… |
|-----------|--------------------|------------------------------------------------|
| ๋ฉ”๋‰ด | Menu | ๊ณ ๊ฐ์—๊ฒŒ ํŒ๋งค๋ฅผ ๋ชฉ์ ์œผ๋กœ ๋ณด์œ ํ•œ ๋ฌผ๊ฑด์œผ๋กœ ๋ฉ”๋‰ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ์œ„. |
Expand All @@ -124,7 +131,34 @@ docker compose -p kitchenpos up -d
| ๋ฉ”๋‰ด ๋…ธ์ถœ ์ƒํƒœ | Menu Displayed | ๋ฉ”๋‰ด์˜ ๋…ธ์ถœ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
| ๋ฉ”๋‰ด ๋ฏธ๋…ธ์ถœ ์ƒํƒœ | Menu Not Displayed | ๋ฉ”๋‰ด์˜ ๋ฏธ๋…ธ์ถœ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |

### ์ฃผ๋ฌธํ…Œ์ด๋ธ”
#### ์†์„ฑ
- `Menu Group`์€ `UUID`, `Menu Group Name`์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
- `Menu`๋Š” `UUID` `Menu Displayed`, `Menu Price`, `Menu Product`, ` Menu Name` ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
- `Menu`๋Š” ํŠน์ • `MenuGroup`์— ์†ํ•œ๋‹ค.

#### ๊ธฐ๋Šฅ
- `Menu Price`๋Š” `Menu Product`์˜ ๊ธˆ์•ก์˜ ํ•ฉ๋ณด๋‹ค ์ ๊ฑฐ๋‚˜ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.
- `Menu Price`๊ฐ€ `Menu Product`์˜ ๊ธˆ์•ก์˜ ํ•ฉ๋ณด๋‹ค ํฌ๋ฉด `Menu Not Displayed`๊ฐ€ ๋œ๋‹ค.
- `Menu Product`๋Š” ๊ฐ€๊ฒฉ๊ณผ ์ˆ˜๋Ÿ‰์„ ๊ฐ€์ง„๋‹ค.
- `Menu Name`์—๋Š” `Profanity`๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์—†๋‹ค.

### ๋งค์žฅ ์ฃผ๋ฌธ

#### ์šฉ์–ด ์‚ฌ์ „
| ํ•œ๊ธ€๋ช… | ์˜๋ฌธ๋ช… | ์„ค๋ช… |
|---------------|-----------|---------------------------------|
| ์ฃผ๋ฌธ | Order | ๊ณ ๊ฐ์ด ๋งค์žฅ์—์„œ ์ฃผ๋ฌธํ•œ ์ƒํ’ˆ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
| ์ฃผ๋ฌธ ์•„์ดํ…œ | Order Line Item | ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•œ ์ƒํ’ˆ ๋ชฉ๋ก ์ •๋ณด(๋ฉ”๋‰ด, ์ˆ˜๋Ÿ‰). |
| ์ฃผ๋ฌธ ํ…Œ์ด๋ธ” | order table | ๋งค์žฅ์—์„œ ์ฃผ๋ฌธ์ด ๋ฐœ์ƒํ•˜๋Š” ํ…Œ์ด๋ธ” |
| ์ฃผ๋ฌธ ์ข…๋ฅ˜(๋งค์žฅ) | EAT_IN | ๋งค์žฅ ์ฃผ๋ฌธ ์ข…๋ฅ˜. |
| ๋ฐฉ๋ฌธํ•œ ์†๋‹˜ ์ˆ˜ | number of guests | ๋งค์žฅ ํ…Œ์ด๋ธ”์— ์•‰์€ ์†๋‹˜ ์ˆ˜ |
| ์ฃผ๋ฌธ ์ƒํƒœ | Order Status | ์ฃผ๋ฌธ์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
| ์ฃผ๋ฌธ ์ƒํƒœ ํ๋ฆ„ | WAITING, ACCEPTED, SERVED, COMPLETED | ์ฃผ๋ฌธ์˜ ์ƒํƒœ ํ๋ฆ„ |
Comment on lines +155 to +156
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ฃผ๋ฌธ ์ƒํƒœ ํ๋ฆ„์€ ์ฃผ๋ฌธ ์ƒํƒœ์˜ ์„ค๋ช…์— ์œ„์น˜ ์‹œ์ผœ๋ณด๋Š”๊ฒƒ๋„ ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•ด์š”!
์ฃผ๋ฌธ ์ƒํƒœ ํ๋ฆ„์ด๋ผ๋Š” ๊ฒƒ์€ ์šฉ์–ด๋กœ์จ ์กด์žฌํ•˜๊ธฐ๋ณด๋‹ค ์ฃผ๋ฌธ ์ƒํƒœ์— ๋Œ€ํ•œ ์„ค๋ช…์˜ ์ผ๋ถ€๋กœ ๋ณด์—ฌ์„œ์š” ๐Ÿ˜ƒ

Suggested change
| ์ฃผ๋ฌธ ์ƒํƒœ | Order Status | ์ฃผ๋ฌธ์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
| ์ฃผ๋ฌธ ์ƒํƒœ ํ๋ฆ„ | WAITING, ACCEPTED, SERVED, COMPLETED | ์ฃผ๋ฌธ์˜ ์ƒํƒœ ํ๋ฆ„ |
| ์ฃผ๋ฌธ ์ƒํƒœ | Order Status | ๋งค์žฅ ์ฃผ๋ฌธ์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ ‘์ˆ˜ ๋Œ€๊ธฐ์ค‘ -> ์ ‘์ˆ˜ ์™„๋ฃŒ -> ์„œ๋น™ ์™„๋ฃŒ -> ์ฃผ๋ฌธ ์™„๋ฃŒ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋œ๋‹ค |

| ์ฃผ๋ฌธ ์ƒํƒœ(์ ‘์ˆ˜ ๋Œ€๊ธฐ์ค‘) | WAITING | ๊ณ ๊ฐ์ด ์ฃผ๋ฌธ์„ ์š”์ฒญ ํ•œ ์ƒํƒœ |
| ์ฃผ๋ฌธ ์ƒํƒœ(์ ‘์ˆ˜ ์™„๋ฃŒ) | ACCEPTED | ๊ณ ๊ฐ์˜ ์ฃผ๋ฌธ์ด ์ ‘์ˆ˜ ์™„๋ฃŒ๋œ ์ƒํƒœ. |
| ์ฃผ๋ฌธ ์ƒํƒœ(์„œ๋น™ ์™„๋ฃŒ) | SERVED | ๊ณ ๊ฐ์˜ ์ฃผ๋ฌธ์ด ๋งค์žฅ ์ฃผ๋ฌธ์ด ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— ์„œ๋น™์™„๋ฃŒ๋œ ์ƒํƒœ. |
| ์ฃผ๋ฌธ ์ƒํƒœ(์ฃผ๋ฌธ ์™„๋ฃŒ) | COMPLETED | ๊ณ ๊ฐ์ด ์‹์‚ฌ๋ฅผ ์™„๋ฃŒํ•˜๊ณ  `์ฃผ๋ฌธํ…Œ์ด๋ธ”`์„ ๋– ๋‚œ ์ƒํƒœ |

| ํ•œ๊ธ€๋ช… | ์˜๋ฌธ๋ช… | ์„ค๋ช… |
|------------|------------------|-------------------------------|
| ์ฃผ๋ฌธ ํ…Œ์ด๋ธ” | Order Table | ๋งค์žฅ ๋‚ด์—์„œ ๊ณ ๊ฐ์ด ์‹์‚ฌํ•  ์ˆ˜ ์žˆ๋Š” ํ…Œ์ด๋ธ”์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
Expand All @@ -133,11 +167,25 @@ docker compose -p kitchenpos up -d
| ํ…Œ์ด๋ธ” ์ ์œ  ์ƒํƒœ | Occupied | ํ…Œ์ด๋ธ”์˜ ์ ์œ  ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
| ํ…Œ์ด๋ธ” ๋ฏธ์ ์œ  ์ƒํƒœ | Not Occupied | ํ…Œ์ด๋ธ”์˜ ๋ฏธ์ ์œ  ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |

#### ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ(Delivery Order)
#### ์†์„ฑ
- `Order`๋Š” `UUID` `Order Status`, ์ฃผ๋ฌธ ์‹œ๊ฐ„, `Order Line Items`๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
- `Order Table `์€ `UUID` `Order Table Name`, `Number Of Guests`๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
- `Order Line Items`๋Š” ๊ฐ€๊ฒฉ๊ณผ ์ˆ˜๋Ÿ‰์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
- `Order`๋Š” ์ ‘์ˆ˜ ๋Œ€๊ธฐ์ค‘ โžœ ์ ‘์ˆ˜ ์™„๋ฃŒ โžœ ์„œ๋น™ ์™„๋ฃŒ โžœ ์ฃผ๋ฌธ ์™„๋ฃŒ ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.

#### ๊ธฐ๋Šฅ
- `Order Table `์˜ ์ถ”๊ฐ€ `Order`๋Š” `Order Table`์— ์Œ“์ด๋ฉฐ ๋ชจ๋“  `Order`๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด `Not Occupied`์ด ๋œ๋‹ค.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order Table ์˜ ์ถ”๊ฐ€ Order๋Š” Order Table์— ์Œ“์ด๋ฉฐ ๋ชจ๋“  Order๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด Not Occupied์ด ๋œ๋‹ค.

ํ•ด๋‹น ๋ฌธ์žฅ์€ ์–ด์ƒ‰ํ•˜๊ฒŒ ๋Š๊ปด์กŒ์–ด์š”!
ํ”„๋กœ์ ํŠธ ๊ด€๊ณ„์ž ์ „์›์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ์„ค๋ช…์ธ์ง€ ๊ณ ๋ฏผ๋ฉ๋‹ˆ๋‹ค :)
์ง„์šฐ๋‹˜์€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜๋‚˜์š”?

- `Not Occupied`์ธ ๊ฒฝ์šฐ `Number Of Guests`๋Š” 0์ด๋ฉฐ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not Occupied์ธ ๊ฒฝ์šฐ Number Of Guests๋Š” 0์ด๋ฉฐ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.

ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Order Table ์˜ Number Of Guests ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ๋„ ์ถ”๊ฐ€ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™์•„์š”!

- `Order Line Item`์˜ `Menu`๊ฐ€ `Menu Displayed`์ด๋ฉฐ `Menu Price`๊ณผ ์ผ์น˜ํ•˜๋ฉด `Order`๊ฐ€ ์ƒ์„ฑํ•œ๋‹ค.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order Line Item์˜ Menu๊ฐ€ Menu Displayed์ด๋ฉฐ Menu Price๊ณผ ์ผ์น˜ํ•˜๋ฉด Order๊ฐ€ ์ƒ์„ฑํ•œ๋‹ค.

์ฃผ๋ฌธ ์ปจํ…์ŠคํŠธ์—์„œ Order Line Item ์˜ Menu ๋Š” ๋ฉ”๋‰ด ์ปจํ…์ŠคํŠธ์˜ Menu ์™€ ๊ฐ™์€ ๊ฐœ๋…์ผ๊นŒ์š”?

์ง„์šฐ๋‹˜์€ ์–ด๋–ป๊ฒŒ ๋ฐ”๋ผ๋ณด๊ณ  ๊ณ„์‹ ์ง€ ๊ถ๊ธˆํ•ด์š”!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order Line Item์˜ Menu๊ฐ€ Menu Displayed์ด๋ฉฐ Menu Price๊ณผ ์ผ์น˜ํ•˜๋ฉด Order๊ฐ€ ์ƒ์„ฑํ•œ๋‹ค.

์ €๋Š” ์ด ๋ฌธ์žฅ์ด ์ž˜ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์–ด์š”!

์•„๋ž˜์™€ ๊ฐ™์ด ํ’€์–ด์„œ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋– ์‹ ๊ฐ€์š”?

  • ๊ณ ๊ฐ์ด ์ฃผ๋ฌธ์„ ์š”์ฒญํ•˜๋ฉด Waiting ์ƒํƒœ์˜Order๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    • Order Line Item ์— ํฌํ•จ๋œ ๋ฉ”๋‰ด๋Š” Menu Displayed ์ƒํƒœ์—ฌ์•ผํ•œ๋‹ค.
    • Order Line Item ์˜ ๊ฐ€๊ฒฉ์€ ํ˜„์žฌ Menu์˜ Menu Price ์™€ ์ผ์น˜ํ•ด์•ผํ•œ๋‹ค.


### ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ

#### ์šฉ์–ด ์‚ฌ์ „
| ํ•œ๊ธ€๋ช… | ์˜๋ฌธ๋ช… | ์„ค๋ช… |
|---------------|-----------------------------------------------------|----------------------------------|
| ์ฃผ๋ฌธ | order | ๊ณ ๊ฐ์ด ๋ฐฐ๋‹ฌ๋กœ ์ฃผ๋ฌธํ•œ ์ƒํ’ˆ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
| ์ฃผ๋ฌธ ์ข…๋ฅ˜(๋ฐฐ๋‹ฌ) | DELIVERY | ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ ์ข…๋ฅ˜. |
| ์ฃผ๋ฌธ ์ƒํƒœ | Order Status | ์ฃผ๋ฌธ์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
| ์ฃผ๋ฌธ ์ƒํƒœ ํ๋ฆ„ | WAITING, ACCEPTED, SERVED, DELIVERING, DELIVERED, COMPLETED | ์ฃผ๋ฌธ์˜ ์ƒํƒœ ํ๋ฆ„ |
| ์ฃผ๋ฌธ ์ƒํƒœ(์ ‘์ˆ˜ ๋Œ€๊ธฐ์ค‘) | WAITING | ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ์ด ์ ‘์ˆ˜์™„๋ฃŒ ๋˜๊ธฐ ์ „ ์ƒํƒœ. |
| ์ฃผ๋ฌธ ์ƒํƒœ(์ ‘์ˆ˜ ์™„๋ฃŒ) | ACCEPTED | ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ์ด ์ ‘์ˆ˜์™„๋ฃŒ๋œ ์ƒํƒœ. |
Expand All @@ -148,30 +196,36 @@ docker compose -p kitchenpos up -d
| ๋ฐฐ๋‹ฌ ๋Œ€ํ–‰์‚ฌ | Delivery Agent | ์ฃผ๋ฌธ์„ ๋ฐฐ๋‹ฌํ•ด ์ฃผ๋Š” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋Œ€ํ–‰์‚ฌ. |
| ๋ฐฐ๋‹ฌ ์ฃผ์†Œ | Delivery Address | ๋ฐฐ๋‹ฌ ์ฃผ์†Œ. |

#### ํฌ์žฅ ์ฃผ๋ฌธ(TakeOut Order)
#### ์†์„ฑ
- `Order`๋Š” `UUID` `OrderStatus`, ์ฃผ๋ฌธ ์‹œ๊ฐ„, `Delivery Address`, `Order Line Item`๋ฅผ ๊ฐ€์ง„๋‹ค.
- `Order Line Item`๋Š” ๊ฐ€๊ฒฉ๊ณผ ์ˆ˜๋Ÿ‰์„ ๊ฐ€์ง„๋‹ค.
- `Order Line Item`์˜ ์ˆ˜๋Ÿ‰์€ 1๋ณด๋‹ค ์ปค์•ผ ํ•œ๋‹ค.
- `Order`๋Š” ์ ‘์ˆ˜ ๋Œ€๊ธฐ์ค‘ โžœ ์ ‘์ˆ˜ ์™„๋ฃŒ โžœ ์ค€๋น„ ์™„๋ฃŒ โžœ ๋ฐฐ๋‹ฌ ์ค‘ โžœ ๋ฐฐ๋‹ฌ ์™„๋ฃŒ โžœ ์ฃผ๋ฌธ ์™„๋ฃŒ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋œ๋‹ค.

#### ๊ธฐ๋Šฅ
- `Menu`๊ฐ€ `Menu Displayed`์ด๋ฉฐ ๋ฉ”๋‰ด ๊ฐ€๊ฒฉ๊ณผ ์ผ์น˜ํ•˜๋ฉด `Order`๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.
- `Order`๊ฐ€ ์ ‘์ˆ˜๋˜๋ฉด `Delivery Agent`๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค.
Comment on lines +205 to +207
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ฃผ๋ฌธ ์ „์ฒด์ ์œผ๋กœ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋ชจ๋ธ๋ง์ด ๋ถ€์‹คํ•œ ๊ฒƒ ๊ฐ™์•„์š”!
์ง„์šฐ๋‹˜์ด ํŒŒ์•…ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋– ์˜ฌ๋ฆฌ๋ฉด์„œ ์šฉ์–ด์‚ฌ์ „๊ณผ ํ•จ๊ป˜ ์ž˜ ์ •๋ฆฌํ•ด๋ณด์‹œ๋Š”๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š” ๐Ÿ™


### ํฌ์žฅ ์ฃผ๋ฌธ

#### ์šฉ์–ด ์‚ฌ์ „
| ํ•œ๊ธ€๋ช… | ์˜๋ฌธ๋ช… | ์„ค๋ช… |
|---------------|-----------|---------------------------|
| ์ฃผ๋ฌธ | Order | ๊ณ ๊ฐ์ด ํฌ์žฅ ์ฃผ๋ฌธํ•œ ์ƒํ’ˆ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
| ์ฃผ๋ฌธ ์•„์ดํ…œ | Order Line Item | ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•œ ์ƒํ’ˆ ๋ชฉ๋ก ์ •๋ณด(๋ฉ”๋‰ด, ์ˆ˜๋Ÿ‰). |
| ์ฃผ๋ฌธ ์ข…๋ฅ˜(ํฌ์žฅ) | TAKEOUT | ํฌ์žฅ ์ฃผ๋ฌธ ์ข…๋ฅ˜. |
| ์ฃผ๋ฌธ ์ƒํƒœ | Order Status | ์ฃผ๋ฌธ์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
| ์ฃผ๋ฌธ ์ƒํƒœ ํ๋ฆ„ | WAITING, ACCEPTED, SERVED, COMPLETED | ์ฃผ๋ฌธ์˜ ์ƒํƒœ ํ๋ฆ„ |
| ์ฃผ๋ฌธ ์ƒํƒœ(์ ‘์ˆ˜ ๋Œ€๊ธฐ์ค‘) | WAITING | ํฌ์žฅ ์ฃผ๋ฌธ์ด ์ ‘์ˆ˜๋˜๊ธฐ ์ „ ์ƒํƒœ. |
| ์ฃผ๋ฌธ ์ƒํƒœ(์ ‘์ˆ˜ ์™„๋ฃŒ) | ACCEPTED | ํฌ์žฅ ์ฃผ๋ฌธ์ด ์ ‘์ˆ˜ ์™„๋ฃŒ๋œ ์ƒํƒœ. |
| ์ฃผ๋ฌธ ์ƒํƒœ(์„œ๋น™ ์™„๋ฃŒ) | SERVED | ํฌ์žฅ ์ฃผ๋ฌธ์„ ์ˆ˜๋ น ๊ฐ€๋Šฅํ•œ ์ƒํƒœ. |
| ์ฃผ๋ฌธ ์ƒํƒœ(์ฃผ๋ฌธ ์™„๋ฃŒ) | COMPLETED | ํฌ์žฅ ์ฃผ๋ฌธ์„ ์ˆ˜๋ นํ•œ ์ƒํƒœ. |

#### ๋งค์žฅ ์ฃผ๋ฌธ(EatIn Order)
| ํ•œ๊ธ€๋ช… | ์˜๋ฌธ๋ช… | ์„ค๋ช… |
|---------------|-----------|---------------------------------|
| ์ฃผ๋ฌธ | Order | ๊ณ ๊ฐ์ด ๋งค์žฅ์—์„œ ์ฃผ๋ฌธํ•œ ์ƒํ’ˆ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. |
| ์ฃผ๋ฌธ ์•„์ดํ…œ | Order Line Item | ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•œ ์ƒํ’ˆ ๋ชฉ๋ก ์ •๋ณด(๋ฉ”๋‰ด, ์ˆ˜๋Ÿ‰). |
| ์ฃผ๋ฌธ ํ…Œ์ด๋ธ” | order table | ๋งค์žฅ์—์„œ ์ฃผ๋ฌธ์ด ๋ฐœ์ƒํ•˜๋Š” ํ…Œ์ด๋ธ” |
| ์ฃผ๋ฌธ ์ข…๋ฅ˜(๋งค์žฅ) | EAT_IN | ๋งค์žฅ ์ฃผ๋ฌธ ์ข…๋ฅ˜. |
| ๋ฐฉ๋ฌธํ•œ ์†๋‹˜ ์ˆ˜ | number of guests | ๋งค์žฅ ํ…Œ์ด๋ธ”์— ์•‰์€ ์†๋‹˜ ์ˆ˜ |
| ์ฃผ๋ฌธ ์ƒํƒœ ํ๋ฆ„ | WAITING, ACCEPTED, SERVED, COMPLETED | ์ฃผ๋ฌธ์˜ ์ƒํƒœ ํ๋ฆ„ |
| ์ฃผ๋ฌธ ์ƒํƒœ(์ ‘์ˆ˜ ๋Œ€๊ธฐ์ค‘) | WAITING | ๊ณ ๊ฐ์ด ์ฃผ๋ฌธ์„ ์š”์ฒญ ํ•œ ์ƒํƒœ |
| ์ฃผ๋ฌธ ์ƒํƒœ(์ ‘์ˆ˜ ์™„๋ฃŒ) | ACCEPTED | ๊ณ ๊ฐ์˜ ์ฃผ๋ฌธ์ด ์ ‘์ˆ˜ ์™„๋ฃŒ๋œ ์ƒํƒœ. |
| ์ฃผ๋ฌธ ์ƒํƒœ(์„œ๋น™ ์™„๋ฃŒ) | SERVED | ๊ณ ๊ฐ์˜ ์ฃผ๋ฌธ์ด ๋งค์žฅ ์ฃผ๋ฌธ์ด ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— ์„œ๋น™์™„๋ฃŒ๋œ ์ƒํƒœ. |
| ์ฃผ๋ฌธ ์ƒํƒœ(์ฃผ๋ฌธ ์™„๋ฃŒ) | COMPLETED | ๊ณ ๊ฐ์ด ์‹์‚ฌ๋ฅผ ์™„๋ฃŒํ•˜๊ณ  `์ฃผ๋ฌธํ…Œ์ด๋ธ”`์„ ๋– ๋‚œ ์ƒํƒœ |
#### ์†์„ฑ
- `Order`๋Š” `UUID`, `OrderStatus`, ์ฃผ๋ฌธ ์‹œ๊ฐ„, `OrderLineItems`๋ฅผ ๊ฐ€์ง„๋‹ค.
- `Order Line Item`๋Š” ๊ฐ€๊ฒฉ๊ณผ ์ˆ˜๋Ÿ‰์„ ๊ฐ€์ง„๋‹ค.
- `Order Line Item`์˜ ์ˆ˜๋Ÿ‰์€ 1๋ณด๋‹ค ์ปค์•ผ ํ•œ๋‹ค.
- `Order`๋Š” ์ ‘์ˆ˜ ๋Œ€๊ธฐ์ค‘ โžœ ์ ‘์ˆ˜ ์™„๋ฃŒ โžœ ์„œ๋น™ ์™„๋ฃŒ โžœ ์ฃผ๋ฌธ ์™„๋ฃŒ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋œ๋‹ค.

## ๋ชจ๋ธ๋ง
#### ๊ธฐ๋Šฅ
- `Menu`๊ฐ€ `Menu Displayed`์ด๋ฉฐ ๋ฉ”๋‰ด ๊ฐ€๊ฒฉ๊ณผ ์ผ์น˜ํ•˜๋ฉด `Order`๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.