주문 도메인 유비쿼터스 언어 - CodeSoom/DDD-Kurly-Clone-Order GitHub Wiki
유비쿼터스 언어
주문 도메인에서 사용되는 언어를 해당 다이어그램에 근거해 정리해보았습니다.
주문
Order
주문 도메인의 중심이 되는 주문을 의미합니다.
orderId: 마켓컬리 시스템이 주문에 부여한 식별자를 의미합니다.orderSheet: 해당 주문에 대한 내용을 담고 있는 문서(OrderSheet)를 의미합니다. (OneToOne)orderState: 주문의 현재 상태를 의미합니다.delivery: 해당 주문에 대한 배송(Delivery)을 의미합니다. (OneToOne)
OrderSheet
해당 주문에 대한 내용을 담고 있는 문서를 의미합니다.
items: 주문자가 주문한 상품(Product)과 그 개수(quantity)를 담고있는 목록을 의미합니다. (OneToMany)orderer: 해당 주문서를 작성한 회원(Member)을 의미합니다. (ManyToOne)deliveryInfo: 해당 주문에 대한 배송지(Address)와 상세 정보(DeliveryDetails)를 포함하는 배송 정보(DeliveryInfo)를 의미합니다. (OneToOne)paymentMethod: 결제 수단('PaymentMethod`)을 의미합니다. (ManyToOne)usedCoupons: 주문에 사용된 쿠폰(Coupon) 목록을 의미합니다. (OneToMany)agreement: 주문에 명시된 약관(Terms)에 주문자가 동의한 내역을 의미합니다. (OneToOne)bill: 주문자가 결제해야하는 총 결제 금액과 그 요금 정보를 포함하는 청구서(Bill)을 의미합니다. (OneToOne)
Agreement
주문에 명시된 약관(Terms)에 주문자가 동의한 내역을 의미합니다.
terms: 주문자가 동의한 약관(Terms)을 의미합니다. (ManyToOne)shouldCheckApproved: 주문자가 약관에 동의했는지 여부를 의미합니다.
Item
주문자가 주문한 상품(Product)과 그 개수(quantity)를 담고있는 항목을 의미합니다.
product: 주문자가 주문한 상품(Product)를 의미합니다. (ManyToOne)quantity: 주문자가 주문한 상품의 양을 나타냅니다.
Bill
주문자가 결제해야하는 총 결제 금액과 그 요금 정보를 포함하는 청구서(Bill)을 의미합니다.
originalPrice: 할인이 적용되지 않은 총 결제 금액을 의미합니다.productDiscount: 주문에 포함된 상품(Item)에 적용된 할인 금액의 총합을 의미합니다.couponDiscount: 주문에 사용된 쿠폰으로 할인되는 금액의 총합을 의미합니다.deliveryFee: 배송료를 의미합니다.usedReserves: 주문에 사용된 적립금(UsedReserves)을 의미합니다. (OneToOne)totalPrice: 해당 주문에 대한 모든 할인이 적용된 총 결제 금액을 의미합니다.
UsedReserved
주문에 사용되는 적립금을 의미합니다.
currency: 사용되는 적립금의 화폐 단위를 의미합니다.amount: 사용되는 적립금의 양을 의미합니다.
DeliveryInfo
해당 주문에 대한 배송지(Address)와 상세 정보(DeliveryDetails)를 포함하는 정보를 의미합니다.
destinationAddress: 주문된 상품이 도착해야하는 목적지인 배송지 주소(Address)를 의미합니다. (ManyToOne)deliveryDetails: 주문된 상품을 받는 것에 대한 상세 정보(DeliveryDetails)를 의미합니다. (OneToOne)
Address
도로명 주소와 같은 우편번호(zipCode)를 포함한 주소를 의미합니다.
zipCode: 우편번호를 의미합니다.streetNameAddress: 도로명 주소를 의미합니다.addressDetails: 아파트의 동/호수와 같은 상세정보를 의미합니다.
DeliveryDetails
주문된 상품을 받는 것에 대한 상세 정보를 의미합니다.
receiverInfo: 주문된 상품을 받는 사람의 정보(ReceiverInfo)를 의미합니다. (OneToOne)placeToReceive: 주문된 상품을 받을 장소를 의미합니다. (경비실, 문 앞, 택배함 등..)procedureOfEntrance: 공동현관에 입장할 수 있는 방법을 의미합니다.timeToGetMsg: 배송 완료 메시지를 받을 시점을 의미합니다. (배송 직후, 아침 9시 이후 등..)
ReceiverInfo
주문된 상품을 받는 사람의 정보를 의미합니다.
name: 상품을 받는 사람의 이름을 의미합니다.phoneNumber: 상품을 받는 사람의 전화번호를 의미합니다.
배송
Delivery
주문이 생성된 이후에 배송에 대한 정보를 의미합니다.
deliveryId: 마켓컬리 시스템이 배송에 부여한 식별자를 의미합니다.state: 배송의 현재 상태를 의미합니다.
약관
Terms
주문자가 동의해야하는 약관을 의미합니다.
termsId: 마켓컬리 시스템이 약관에 부여한 식별자를 의미합니다.content: 약관의 내용을 의미합니다.
상품
Product
마켓컬리에 등록된 상품을 의미합니다.
productId: 마켓컬리 시스템이 상품에 부여한 식별자를 의미합니다.name: 상품명을 의미합니다.thumbnail: 상품의 썸네일 이미지를 의미합니다.price: 상품의 가격을 의미합니다.discountRate: 상품에 적용되는 할인률을 의미합니다.stock: 상품의 재고를 의미합니다.
Stock
상품의 재고를 의미합니다.
unit: 재고의 단위를 의미합니다.amount: 재고의 양을 의미합니다.
회원
Member
마켓컬리를 사용하는 사용자를 의미합니다.
memberId: 마켓컬리 시스템이 사용자에게 부여한 식별자를 의미합니다.name: 사용자가 등록한 자신의 이름을 의미합니다.phoneNumber: 사용자의 휴대폰 번호를 의미합니다.email: 사용자의 이메일 주소를 의미합니다.reserves: 사용자가 보유하고 있는 적립금(Reserves)을 의미합니다. (OneToOne)
Reserves
사용자가 보유하고 있는 적립금(Reserves)을 의미합니다.
currency: 적립금의 화폐 단위를 의미합니다.amount: 적립금의 양을 의미합니다.
쿠폰
Coupon
마켓컬리 시스템에 존재하는 쿠폰을 의미합니다.
couponId: 마켓컬리 시스템이 쿠폰에 부여한 식별자를 의미합니다.name: 쿠폰의 이름을 의미합니다.discount: 쿠폰이 할인하는 내용(Discount)을 의미합니다. (OneToOne)
Discount
쿠폰이 할인하는 내용을 의미합니다.
unit: 쿠폰이 할인하는 내용의 단위를 의미합니다.amount: 쿠폰이 할인하는 내용의 양을 의미합니다.