From 99ec538aa8f145f7144932c0a9737c0014345651 Mon Sep 17 00:00:00 2001 From: yunbaek Date: Thu, 14 Sep 2023 22:47:21 +0900 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20=EC=9A=A9=EC=96=B4=20=EC=82=AC?= =?UTF-8?q?=EC=A0=84=20=ED=94=BC=EB=93=9C=EB=B0=B1=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 주문 상태 정리 --- README.md | 109 +++++++++++++++++++++++++++--------------------------- 1 file changed, 54 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index b59d4f61..64bc272b 100644 --- a/README.md +++ b/README.md @@ -98,66 +98,65 @@ docker compose -p kitchenpos up -d ### 메뉴 -| 한글명 | 영문명 | 설명 | -|-------|----------------|--------------------| -| 메뉴 | Menu | 메뉴그룹에 속하는 주문 가능 단위 | -| 메뉴그룹 | MenuGroup | 메뉴를 분류한 그룹 | -| 메뉴상품 | MenuProduct | 메뉴가 포함하고 있는 상품 | -| 금액 | price | 메뉴 금액 | -| 보이는메뉴 | DisplayedMenu | 사용자에게 보이는 메뉴 | -| 숨겨진메뉴 | HiddenMenu | 사용자에게 숨겨진 메뉴 | -| 상품 | Product | 메뉴에 등록할 수 있는 제품 | -| 비속어 | Profanity | 메뉴이름에 적합하지 않은 비속어 | +| 한글명 | 영문명 | 설명 | +|-------|---------------|--------------------| +| 메뉴 | Menu | 메뉴그룹에 속하는 주문 가능 단위 | +| 메뉴그룹 | MenuGroup | 메뉴를 분류한 그룹 | +| 메뉴상품 | MenuProduct | 메뉴가 포함하고 있는 상품 | +| 금액 | price | 메뉴 금액 | +| 보이는메뉴 | DisplayedMenu | 사용자에게 보이는 메뉴 | +| 숨겨진메뉴 | HiddenMenu | 사용자에게 숨겨진 메뉴 | +| 상품 | Product | 메뉴에 등록할 수 있는 제품 | +| 비속어 | Profanity | 메뉴이름에 적합하지 않은 비속어 | ### 상품 -| 한글명 | 영문명 | 설명 | -|-------|----------------|--------------------------------------| -| 상품 | Product | 메뉴에 등록할 수 있는 제품 | -| 금액 | price | 상품 금액 | -| 비속어 | Profanity | 이름에 적합하지 않은 비속어 | - -### 배달 주문 - -| 한글명 | 영문명 | 설명 | -|-------|---------------|-----------------------------| -| 배달주문 | Order | 고객에게 라이더를 통해 배달 음식을 전달하는 주문 | -| 주문아이템 | OrderLineItem | 배달 주문에 포함된 메뉴 | -| 주문상태 | OrderStatus | 배달 주문의 상태 | -| 대기중 | WAITING | 배달 주문이 접수 되는것을 기다리는 상태 | -| 접수완료 | ACCEPTED | 가게에서 배달주문을 받아들였다는 상태 | -| 제공완료 | SERVED | 라이더에게 음식을 전달한 상태 | -| 배달중 | DELIVERING | 고객이 주문한 제품을 배송지로 전달중인 상태 | -| 배달완료 | DELIVERED | 고객이 주문한 제품을 배송지에서 받았다는 상태 | -| 주문완료 | COMPLETED | 배달 주문 프로세스가 끝났다는 상태 | -| 라이더 | kitchenriders | 고객이 주문한 상품을 전달하는 사람 | - +| 한글명 | 영문명 | 설명 | +|-----|-----------|-----------------| +| 상품 | Product | 메뉴에 등록할 수 있는 제품 | +| 금액 | price | 상품 금액 | +| 비속어 | Profanity | 이름에 적합하지 않은 비속어 | + +### 배달 주문 + +| 한글명 | 영문명 | 설명 | +|-------|---------------|------------------------------------------------------------| +| 배달주문 | Order | 고객에게 라이더를 통해 배달 음식을 전달하는 주문 | +| 주문아이템 | OrderLineItem | 배달 주문에 포함된 메뉴 | +| 주문상태 | OrderStatus | 배달 주문의 상태 대기중, `접수완료`, `제공완료`, `배달중`, `배달완료`, `주문완료` 가 있다. | +| 대기중 | WAITING | 배달 주문이 접수 되는것을 기다리는 상태 | +| 접수완료 | ACCEPTED | 가게에서 배달주문을 받아들였다는 상태 | +| 제공완료 | SERVED | 라이더에게 음식을 전달한 상태 | +| 배달중 | DELIVERING | 고객이 주문한 제품을 배송지로 전달중인 상태 | +| 배달완료 | DELIVERED | 고객이 주문한 제품을 배송지에서 받았다는 상태 | +| 주문완료 | COMPLETED | 배달 주문 프로세스가 끝났다는 상태 | +| 라이더 | kitchenriders | 고객이 주문한 상품을 전달하는 사람 | ### 포장 주문 -| 한글명 | 영문명 | 설명 | -|-------|----------------|---------------------| -| 포장주문 | Order | 고객이 직접 방문하여 가져가는 주문 | -| 주문아이템 | OrderLineItem | 포장 주문에 포함된 메뉴 | -| 주문상태 | OrderStatus | 포장 주문의 상태 | -| 대기중 | WAITING | 포장 주문이 접수 되는것을 기다리는 상태 | -| 접수완료 | ACCEPTED | 가게에서 포장 주문을 받아들였다는 상태 | -| 제공완료 | SERVED | 고객에게 포장된 음식을 전달한 상태 | -| 주문완료 | COMPLETED | 포장 주문 프로세스가 끝났다는 상태 | - -### 매장 주문 - -| 한글명 | 영문명 | 설명 | -|-------|----------------|---------------------------| -| 매장주문 | Order | 고객이 매장에서 식사하는 주문 | -| 주문아이템 | OrderLineItem | 매장 주문에 포함된 메뉴 | -| 주문상태 | OrderStatus | 매장 주문의 상태 | -| 대기중 | WAITING | 매장 주문이 접수 되는것을 기다리는 상태 | -| 접수완료 | ACCEPTED | 가게에서 매장 주문을 받아들였다는 상태 | -| 제공완료 | SERVED | 고객에게 음식을 전달한 상태 | -| 주문완료 | COMPLETED | 매장 주문 프로세스가 끝났다는 상태 | -| 테이블 | OrderTable | 고객이 앉아서 음식을 제공 받을 수 있는 장소 | -| 고객수 | numberOfGuests | 한 테이블에 앉은 고객 수 | - +| 한글명 | 영문명 | 설명 | +|-------|---------------|-----------------------------------------------| +| 포장주문 | Order | 고객이 직접 방문하여 가져가는 주문 | +| 주문아이템 | OrderLineItem | 포장 주문에 포함된 메뉴 | +| 주문상태 | OrderStatus | 포장 주문의 상태, `대기중`, `접수완료`, `제공완료`, `주문완료`가 있다. | +| 대기중 | WAITING | 포장 주문이 접수 되는것을 기다리는 상태 | +| 접수완료 | ACCEPTED | 가게에서 포장 주문을 받아들였다는 상태 | +| 제공완료 | SERVED | 고객에게 포장된 음식을 전달한 상태 | +| 주문완료 | COMPLETED | 포장 주문 프로세스가 끝났다는 상태 | + +### 매장 주문 + +| 한글명 | 영문명 | 설명 | +|-------|----------------|-----------------------------------------------| +| 매장주문 | Order | 고객이 매장에서 식사하는 주문 | +| 주문아이템 | OrderLineItem | 매장 주문에 포함된 메뉴 | +| 주문상태 | OrderStatus | 매장 주문의 상태, `대기중`, `접수완료`, `제공완료`, `주문완료`가 잇다. | +| 대기중 | WAITING | 매장 주문이 접수 되는것을 기다리는 상태 | +| 접수완료 | ACCEPTED | 가게에서 매장 주문을 받아들였다는 상태 | +| 제공완료 | SERVED | 고객에게 음식을 전달한 상태 | +| 주문완료 | COMPLETED | 매장 주문 프로세스가 끝났다는 상태 | +| 테이블 | OrderTable | 고객이 앉아서 음식을 제공 받을 수 있는 장소 | +| 고객수 | numberOfGuests | 한 테이블에 앉은 고객 수 | ## 모델링 + From 9c25096610bb3dd1302cdc903e4a9121d2451de5 Mon Sep 17 00:00:00 2001 From: yunbaek Date: Thu, 14 Sep 2023 22:47:58 +0900 Subject: [PATCH 2/2] =?UTF-8?q?docs:=20=EB=AA=A8=EB=8D=B8=EB=A7=81=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/README.md b/README.md index 64bc272b..9e13958b 100644 --- a/README.md +++ b/README.md @@ -160,3 +160,102 @@ docker compose -p kitchenpos up -d ## 모델링 + +## 모델링 + +### 메뉴 +#### 속성 +- 메뉴는 금액(price)을 가진다. + - 금액은 0보다 작을 수 없다. +- 메뉴는 이름(name)을 가진다. + - 이름은 빈 값을 가질 수 없다. + - 이름은 비속어를 포함할 수 없다. +- 메뉴는 상품의 금액과 이름을 표현하는 상품을 가진다. +- 메뉴는 메뉴의 노출 여부(displayed)를 가진다. +- 메뉴는 메뉴가 속해있는 메뉴 그룹을 가진다. + - 메뉴 그룹은 빈 값을 가질 수 없다. + - 메뉴 그룹은 이름(name)을 가진다. +- 메뉴는 메뉴에 포함된 상품 정보를 나타내는 상품를 가진다. + - 상품은 수량(quantity)을 가진다. + - 상품의 수량은 0 이상이어야 한다. + - 상품은 금액(price)을 가진다. +#### 행위 +- 메뉴는 등록할 수 있다. +- 메뉴는 금액을 변경할 수 있다. +- 메뉴는 보여질 수 있다. +- 메뉴는 숨겨질 수 있다. + +### 상품 +#### 속성 +- 상품은 금액(price)을 가진다. + - 금액은 0보다 작을 수 없다. +- 상품은 이름(name)을 가진다. + - 이름은 빈 값을 가질 수 없다. + - 이름은 비속어를 포함할 수 없다. +#### 행위 +- 상품은 등록할 수 있다. +- 상품은 금액을 변경할 수 있다. + +### 주문 +#### 속성 +- 주문은 주문 타입(order type)을 가진다. + - 주문 타입에는 `배달 주문`, `포장 주문`, 매장 주문이 있다. +- 주문은 주문 상태(order status)를 가진다 +- 주문은 주문 내역을 저장하는 주문아이템을 지닌다. + - 주문아이템은 메뉴를 가진다. + - 주문아이템은 수량(quantity)을 가진다. +#### 행위 +- 주문은 등록할 수 있다. + +### 배달 주문 +#### 속성 +- 배달주문은 배달 주소(delivery address)를 가진다. + - 배달 주소는 빈 값이 될 수 없다. +- 배달주문은 주문 상태(order status)를 가진다. + - 배달 주문 상태는 대기중, 접수 완료, 제공 완료, 배달 중, 배달 완료, 주문 완료가 포함된다. +#### 행위 +- 접수가 완료된다. + - 접수 대기 상태일 때 접수를 완료할 수 있다. +- 라이더에게 음식이 전달된다. + - 접수가 완료된 상태면 요청할 수 없다. +- 배달이 완료된다. + - 배달 중 상태일 때 배달을 완료할 수 있다. +- 주문이 완료된다. + - 배달 완료 상태일 때 주문을 완료할 수 있다. + +### 포장 주문 +#### 속성 +- 포장 주문은 주문 상태(order status)를 가진다. + - 포장 주문 상태는 접수 대기, 접수 완료, 서빙 완료, 주문 완료가 포함된다. +### 행위 +- 접수가 완료된다. + - 접수 대기 상태일 때 접수를 완료할 수 있다. +- 서빙이 완료된다. + - 접수 완료 상태일 때 서빙을 완료할 수 있다. +- 주문이 완료된다. + - 서빙 완료 상태일 때 주문을 완료할 수 있다. + +### 매장 주문 +#### 속성 +- 매장 주문은 테이블을 가진다. + - 테이블은 이름(name)을 가진다. + - 테이블은 빈 값을 가질 수 없다. + - 테이블은 착석인원(number of guests)을 가진다. + - 테이블은 착석여부(occupied)를 가진다. +- 매장 주문은 주문 상태(order status)를 가진다. + - 매장 주문 상태는 접수대기, 접수완료, 서빙 완료, 주문완료가 포함된다. +#### 행위(매장 주문) +- 접수가 완료된다. + - 접수 대기 상태일 때 접수를 완료할 수 있다. +- 서빙이 완료된다. + - 접수 완료 상태일 때 서빙을 완료할 수 있다. +- 주문이 완료된다. + - 서빙 완료 상태일 때 주문을 완료할 수 있다. + - 주문 완료 상태가 되면 테이블을 치운다. +#### 행위(테이블) +- 착석을 할 수 있다. +- 테이블을 깨끗이 정리한다. + - 고객이 착석한 테이블만 정리할 수 없다. +- 고객수를 변경할 수 있다. + - 고객이 착석한 테이블만 변경할 수 있다. + - 고객수는 1보다 작을 수 있다.