GithubHelp home page GithubHelp logo

jwp-refactoring's Introduction

키친포스

요구 사항

각각의 도메인이 다음 조건을 충족하는지 테스트한다.

  • 별도의 기재가 없는 경우, 모든 세부요소는 NULL이 될 수 없다.
  • 별도의 기재가 없는 경우, 모든 도메인은 id를 AUTO_INCREMENT로 가진다.

주문

  • 주문 테이블의 id를 가진다.
  • 주문 상태를 문자열로 가진다.
  • 주문된 시간을 가진다.
  • 다음의 기능을 지원한다.
    • 저장
    • 개별 조회, 전체 조회
    • 존재 여부 식별(주문 테이블의 ID 혹은 ID 목록을 받아, 존재 여부 확인)
  • 다음의 요청에 응답한다.
    • POST {{host}}/api/orders
    • GET {{host}}/api/orders
    • PUT {{host}}/api/orders/1/order-status

주문 항목

  • 주문의 id를 가진다.
  • 메뉴의 id를 가진다.
  • 주문의 개수를 정수로 가진다.
  • 다음의 기능을 지원한다.
    • 저장
    • 개별 조회, 전체 조회
    • 조건부 검색(주문 ID와 일치하는 항목 전부 검색)

주문 테이블

  • 단체 지정의 id를 가진다. 이 값은 NULL이 될 수 있다.(단체 지정이 안된 테이블이 존재할 수 있다)
  • 고객의 수를 정수로 가진다. 0이 될 수 있는지? 확인 필요
  • 빈 테이블 여부를 T/F로 가진다.
  • 다음의 기능을 지원한다.
    • 저장
    • 개별 조회, 전체 조회
    • 조건부 검색(주어진 ID 목록에 ID가 포함되는 테이블만 목록으로 반환)
    • 조건부 검색(주어진 단체 지정 ID 목록에 포함되는 테이블만 반환)
  • 다음의 요청에 응답한다.
    • POST {{host}}/api/tables
    • GET {{host}}/api/tables
    • PUT {{host}}/api/tables/1/empty
    • PUT {{host}}/api/tables/1/number-of-guests
    • PUT {{host}}/api/tables/1/empty

단체 지정

  • 생성 날짜를 가진다.
  • 다음의 기능을 지원한다.
    • 저장
    • 개별 조회, 전체 조회
  • 다음의 요청에 응답한다.
    • POST {{host}}/api/table-groups
    • DELETE {{host}}/api/table-groups/1

메뉴

  • 이름을 문자열로 가진다.
  • 가격을 price로 가진다. 소수점 두 자리까지 저장한다.
  • 메뉴 그룹의 id를 가진다.
  • 다음의 기능을 지원한다.
    • 저장
    • 개별 조회, 전체 조회
    • 조건부 개수 구하기(ID가 목록에 포함되었는지 여부로 검색)
  • 다음의 요청에 응답한다.
    • POST {{host}}/api/menus
    • GET {{host}}/api/menus

메뉴 그룹

  • 이름을 문자열로 가진다.
  • 다음의 기능을 지원한다.
    • 저장
    • 개별 조회, 전체 조회
    • 존재 여부 식별(ID가 존재하는지 여부 확인)
  • 다음의 요청에 응답한다.
    • POST {{host}}/api/menu-groups
    • GET {{host}}/api/menu-groups

메뉴 상품

  • 메뉴의 id를 가진다.
  • 상품의 id를 가진다.
  • 상품의 개수를 정수로 가진다.
  • 다음의 기능을 지원한다.
    • 저장
    • 개별 조회, 전체 조회
    • 조건부 검색(메뉴의 ID가 일치하는지 여부로 검색)

상품

  • 이름을 문자열로 가진다.
  • 가격을 price로 가진다. 쇼수점 두 자리까지 저장한다.
  • 다음의 기능을 지원한다.
    • 저장
    • 개별 조회, 전체 조회
  • 다음의 요청에 응답한다.
    • POST {{host}}/api/products
    • GET {{host}}/api/products

용어 사전

한글명 영문명 설명
상품 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 포장하지 않고 매장에서 식사하는 것

jwp-refactoring's People

Contributors

woowahan-pjs avatar include42 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.