바로 가기
배달 플랫폼 구현하기 (1) - 환경설정
배달 플랫폼 구현하기 (2) - 공통
배달 플랫폼 구현하기 (3) - 사용자 도메인
배달 플랫폼 구현하기 (4) - 스토어 / 메뉴 도메인
배달 플랫폼 구현하기 (5) - 상품 주문 도메인
배달 플랫폼 구현하기 (6) - 가맹점 도메인 개발
배달 플랫폼 구현하기 (7) - 가맹점 주문 개발
배달 플랫폼 구현하기 (8) - 가맹점 정산 배치 개발
배달 플랫폼 구현하기 (9) - 모니터링 적용
트러블 슈팅
배달 플랫폼[ Multi Module ] 트러블슈팅⚽️
배달 플랫폼[ JSON parse error ] 트러블슈팅⚽️
배달 플랫폼[ Unknown Properties ] 트러블슈팅⚽️
배달 플랫폼[ RabbitMQ Enable Management ] 트러블슈팅⚽️
- 배달 플랫폼에서 사용자, 가게, 메뉴 정보 기본적으로 필요한 도메인에 대해서 구현이 완료 되었다.
- 이제는 상품을 담아두고, 주문을 할 수 있도록 상품 주문을 개발해야 합니다.
여기서는 장바구니 기능은 프론트 엔드에서 처리가 되었다는 과정하에 진행합니다.
- 주문 접수, 주문 처리 ( 확인, 요리, 배달, 완료 ), 주문 내역 ( 현재, 과거 )
- 주문의 경우 사용자가 필요로 하며, 한 사용자는 여러 주문을 가질 수 있다.
- 하나의 주문에는 여러 메뉴를 가질 수 있습니다.
- 관계를 나타내면 주문( 1 ) → 메뉴( N ) 들어 있을 수 있으며, 사용자 ( 1 ) → 주문( N ) 상황을 나타낸다.
-
이를 RDBMS 로 설계를 하게 된다면, 아래와 같이 주문 테이블, 주문 메뉴 테이블을 통해서 나타낼 수 있다.

-
user_order_menu 테이블이 생겨난 이유는 RDBMS 의 경우에는 ROW 단위로 데이터가 저장이 되는데, 하나의 주문에 다양한 메뉴를 넣기 위해서는 중간 테이블을 통해서 저장해야 한다.
-
중간 테이블이 없다면 아래와 같이 나타낼 수는 있지만, 주문 당 메뉴 수가 제한적이며 차후 주문 메뉴 수에 대해 정책이 변경이 된다면 테이블까지 수정해야 하는 큰 작업이 따를 수 있다.
또한 주문의 메뉴 리스트를 어떻게 조회를 해야 할 지도 막막하다.

Order Entity 구현
주문 서비스 로직 구현 ( 주문 등록 )
주문 등록 서비스 개선
주문 서비스 로직 구현 ( 주문 진행 내역, 주문 내역 )