data model

MVP 기능 목록은 Book, CartItem, Order 중심의 스키마로 내려온다

온라인 북스토어 예시는 검색, 장바구니, 주문 흐름을 먼저 정하고 그 흐름을 저장할 엔티티와 참조 관계로 바꾸면 설계가 단순해집니다.

Book

목록, 상세, 검색의 기준 데이터입니다.

title author price stock

CartItem

사용자가 담은 도서와 수량을 임시 주문 후보로 보관합니다.

bookId quantity addedAt

Order

장바구니를 확정한 시점의 주문 항목과 총액을 남깁니다.

items total status

User

로그인 MVP를 선택할 때 장바구니와 주문의 소유자를 연결합니다.

email name role

참조 관계

CartItem → Book 장바구니 항목은 항상 하나의 도서 `_id`를 참조합니다.
Order → items 주문 시점의 가격과 수량은 변경 이력 보존을 위해 스냅샷으로 둡니다.
User optional 비회원 주문을 허용하면 이메일 같은 최소 식별자만 Order에 둘 수 있습니다.