-
상품
-
상태
- 비속어가 포함되지 않는 0자 이상의 이름을 가진다
- 0 이상의 가격을 가진다
-
행동
- 생성된다
- 이름은 0자 이상이어야 한다
- 가격은 0 이상이어야 한다
- 가격을 변경한다
- 이 상품을 포함하는 메뉴의 재료비(상품 가격의 총합)가 기존 메뉴 가격보다 낮아지게 된다면 해당 메뉴를 가린다
- 생성된다
-
메뉴 그룹
-
상태
- 1자 이상의 이름을 가진다
-
행동
- 생성된다
- 이름은 1자 이상이어야 한다
- 생성된다
-
메뉴 상품
-
상태
- 상품을 가진다
- 0 이상의 개수를 가진다
-
행동
- 생성된다
- 개수는 0 이상이어야 한다
- 생성된다
-
메뉴
-
상태
- 메뉴 그룹을 가진다
- 비속어가 포함되지 않는 0자 이상의 이름을 가진다
- 메뉴 상품을 1개 이상 가진다
- 0 이상의 가격을 가진다
- 가림/보임 여부를 가진다
-
행동
- 생성된다
- 메뉴그룹이 있어야 한다
- 메뉴 상품이 1개 이상이어야 한다
- 이름은 0자 이상이어야 한다
- 가격은 0 이상이어야 한다
- 가격은 '메뉴 상품들의 가격*수량의 합'보다 같거나 작아야 한다
- 가격을 변경한다
- 변경할 가격은 '메뉴 상품들의 가격*수량의 합'보다 같거나 작아야 한다
- 보이게 한다
- 보이게 하려면 메뉴 가격이 '메뉴 상품들의 가격*수량의 합'보다 같거나 작아야 한다
- 가린다
- 생성된다
-
주문
-
상태
- 다음 중 하나를 주문의 상태로 가진다. ('대기', '접수', '전달완료', '배달중', '배달완료', '완료')
- 모든 주문은 '대기' 상태로 시작한다.
- '대기'에서 '접수' 상태로 바뀔 수 있다.
- 배달주문이라면 KitchenRiders로 배달을 요청한다
- '접수'에서 전달완료' 상태로 바뀔 수 있다
- '전달완료'에서 '완료' 상태로 바뀔 수 있다
- 매장주문이라면 주문 테이블을 초기화시킨다
- '전달완료'에서 '배달중' 상태로 바뀔 수 있다 (배달주문일 때만)
- '배달중'에서 '배달완료' 상태로 바뀔 수 있다 (배달주문일 때만)
- '배달완료'에서 '완료' 상태로 바뀔 수 있다 (배달주문일 때만)
- 다음 중 하나를 주문의 종류로 가진다. ('배달주문', '포장주문', '매장주문')
- 주문한 일시를 가진다.
- 주문항목을 1개 이상 가진다.
- 주문항목 가격 합과 같은 총 주문 가격을 가진다.
- 배달 주소를 가질 수 있다.
- 주문 테이블을 가질 수 있다.
- 다음 중 하나를 주문의 상태로 가진다. ('대기', '접수', '전달완료', '배달중', '배달완료', '완료')
-
행동
- 생성된다
- 주문 상태는 '대기'가 된다
- 현재 일시를 주문한 일시로 초기화한다
- 배달주문일 경우 배달 주소를 꼭 가져야 한다
- 매장주문일 경우 주문 테이블을 꼭 가져야 한다
- 접수된다
- '대기' 상태여야 한다
- 배달주문이라면 KitchenRiders로 배달을 요청한다
- '접수' 상태로 변경한다
- 전달완료된다
- '접수' 상태여야 한다
- '전달완료' 상태로 변경한다
- 배달을 시작한다
- 배달주문이어야 한다
- '전달완료' 상태여야 한다
- '배달중' 상태로 변경한다
- 배달을 완료한다
- 배달주문이어야 한다
- '배달중' 상태여야 한다
- '배달완료' 상태로 변경한다
- 주문을 완료한다
- '전달완료' 또는 '배달완료' 상태여야 한다
- 매장주문이라면 주문 테이블을 초기화시킨다
- 주문 상태를 '완료'로 변경한다
- 생성된다
-
주문 항목
-
상태
- 메뉴를 가진다.
- 개수를 가진다.
-
행동
- 생성된다
- 메뉴는 가려진 상태가 아니어야 한다
- 매장 주문이라면 개수가 음수가 될 수 없다
- 생성된다
-
주문 테이블
-
상태
- 1자 이상의 이름을 가진다
- 점유/미점유 상태를 가진다
- 0 이상의 인원수를 가진다
-
행동
- 인원수가 변경된다
- 점유중이어야 한다
- 점유된다
- 점유중이 아니어야 한다
- 비운다
- 점유중이어야 한다
- 인원수를 0으로 변경한다
- 미점유 상태로 변경한다
- 인원수가 변경된다
cd docker
docker compose -p kitchenpos up -d
한글명 | 영문명 | 설명 |
---|---|---|