View Code? Open in Web Editor
NEW
This project forked from woowacourse/jwp-refactoring
jwp-refactoring's Introduction
MenuGroup
|
설명 |
구성 |
id , 이름 |
POST /api/menu-groups |
메뉴 그룹을 생성한다. |
GET /api/menu-groups |
모든 메뉴 그룹을 조회한다. |
Menu
|
설명 |
구성 |
id , 이름 , 가격 , 메뉴 그룹 id , 메뉴 상품들 |
POST /api/menus |
메뉴를 생성한다. |
GET /api/menus |
모든 메뉴를 조회한다. |
- 메뉴를 생성할 때
- 가격은 빈 값일 수 없다.
- 가격은 0원 이하일 수 없다.
- 존재하지 않는 메뉴 그룹으로 메뉴를 생성할 수 없다.
- 존재하지 않는 상품으로 메뉴를 생성할 수 없다.
- 메뉴 가격이 메뉴 상품들의 가격합보다 크거나 같을 수 없다.
|
설명 |
구성 |
id , 주문 테이블 Id , 주문 상태 , 주문 시간 , 주문 항목들 |
POST /api/orders |
주문를 생성한다. |
GET /api/orders |
모든 주문을 조회한다. |
PUT /api/orders/{orderId}/order-status |
주문의 상태를 변경한다. |
- 주문를 생성할 때
- 주문 항목이 비어있을 수 없다.
- 존재하지 않는 주문 항목으로 주문을 생성할 수 없다.
- 존재하지 않는 주문 테이블로 주문을 생성할 수 없다.
- 주문 테이블로 비어있는 상태로 주문을 생성할 수 없다.
- 주문의 상태 변경할 때
- 존재하지 않는 주문은 변경할 수 없다.
- 주문의 상태가 이미 완료된 상황에서는 변경할 수 없다.
|
설명 |
구성 |
id , 이름 , 가격 |
POST /api/products |
상품를 생성한다. |
GET /api/products |
모든 상품을 조회한다. |
- 상품를 생성할 때
- 가격을 빈 값으로 상품을 생성할 수 없다.
- 가격이 0원보다 작으면 상품을 생성할 수 없다.
|
설명 |
구성 |
id , 생성된 시간 , 주문 테이블들 |
POST /api/table-groups |
단체를 지정한다. |
DELETE /api/table-groups |
지정된 단체를 해제한다. |
- 단체를 지정할 때
- 주문 테이블이 null 이라면 단체를 지정할 수 없다.
- 주문 테이블이 1개 이하이면 단체를 지정할 수 없다.
- 존재하지 않는 주문 테이블에 대해서 단체를 지정할 수 없다.
- 비어있는 주문 테이블에는 단체를 지정할 수 없다.
- 이미 단체로 지정된 주문 테이블에 대해서 단체를 지정할 수 없다.
- 단체를 해제할 때
- 주문의 상태가 Cooking, Meal인 경우 단체를 해제할 수 없다.
|
설명 |
구성 |
id , 단체 그룹 id , 방문한 손님 수 , 주문을 등록할 수 있는지 여부 |
POST /api/tables |
테이블을 생성한다. |
GET /api/tables |
모든 테이블을 조회한다. |
PUT /api/tables/{orderTableId}/empty |
주문을 등록할 수 있는 테이블로 변경한다. |
PUT /api/tables/{orderTableId}/number-of-guests |
테이블의 앉은 손님의 숫자를 변경한다. |
- 주문을 등록할 수 있는 상태로 변경할 때
- 주문 테이블이 존재하지 않으면 변경할 수 없다.
- 주문 테이블이 단체로 지정되어 있다면 변경할 수 없다.
- 주문의 상태가 Cooking, meal인 경우 변경할 수 없다.
- 테이블에 앉은 손님의 숫자를 변경할 때
- 변경하려는 손님의 숫자가 음수이면 변경할 수 없다.
- 변경하려는 주문 테이블이 존재하지 않으면 변경할 수 없다.
- 변경하려는 주문 테이블이 비어있다면 변경할 수 없다.
한글명 |
영문명 |
설명 |
상품 |
product |
메뉴를 관리하는 기준이 되는 데이터 |
메뉴 그룹 |
menu group |
메뉴 묶음, 분류 |
메뉴 |
menu |
메뉴 그룹에 속하는 실제 주문 가능 단위 |
메뉴 상품 |
menu product |
메뉴에 속하는 수량이 있는 상품 |
금액 |
amount |
가격 * 수량 |
주문 테이블 |
order table |
매장에서 주문이 발생하는 영역 |
빈 테이블 |
empty table |
주문을 등록할 수 없는 주문 테이블 |
주문 |
order |
매장에서 발생하는 주문 |
주문 상태 |
order status |
주문은 조리 ➜ 식사 ➜ 계산 완료 순서로 진행된다. |
방문한 손님 수 |
number of guests |
필수 사항은 아니며 주문은 0명으로 등록할 수 있다. |
단체 지정 |
table group |
통합 계산을 위해 개별 주문 테이블을 그룹화하는 기능 |
주문 항목 |
order line item |
주문에 속하는 수량이 있는 메뉴 |
매장 식사 |
eat in |
포장하지 않고 매장에서 식사하는 것 |