1️⃣ dbdiagram을 이용해서 ERD를 설계해보자

1️⃣ 좋아요 ERD 설계




✅ 좋아요 추가 API 설계 변경
✅ 좋아요 취소 API 설계 변경
1️⃣ 장바구니 ERD 설계

1️⃣ 주문 API를 만들어 보자

2️⃣ 주문 예상은 사실 장바구니의 연장선

✅ 장바구니에서 선택한 상품목록 조회 API 설계 변경
[cartItemId, cartItemId, ...]
[
{
cartItemId : 장바구니 도서 id,
bookId : 도서 id,
title : "도서 제목",
summary : "도서 요약",
count : 수량,
price : "가격"
},
{
cartItemId : 장바구니 도서 id,
bookId : 도서 id,
title : "도서 제목",
summary : "도서 요약",
count : 수량,
price : "가격"
},
...
]
1️⃣ 주문 테이블 설계

2️⃣ 진짜 주문(결제) API 설계
// 결제하기 = 주문하기 = 주문 등록 = 데이터베이스 주문 insert = 장바구니에서 주문된 상품은 delete
{
items : [{
cartItemId : 장바구니 도서 id, // 주문된 상품 삭제 위해 추가
bookId : 도서 id,
count : 수량
},
{
cartItemId : 장바구니 도서 id,
bookId : 도서 id,
count : 수량
}]
delivery : {
address : "주소"
receiver : "이름"
contact : "010-1234-1234"
}
totalPrice : "총 금액"
}
3️⃣ 테이블 설계



1️⃣ 주문 목록페이지는 어떻게 해야 할까?

2️⃣ 주문 목록 조회 API 설계
[
{
order_id : 주문 id,
created_at : "주문 일자",
delivery : {
address : "주소",
receiver : "이름",
contact : "연락처"
},
bookTitle : "대표 책 제목",
totalPrice : 결제 금액,
totalCount : 총 수량
},
...
]
3️⃣ 주문 상세 상품 조회(토글 클릭 시) API 설계
// 어떤 책들이 담겨있는지 조회
[
{
bookId : "도서 id"
bookTitle : "도서 이름"
author : "작가명",
price : 가격,
count : 수량
},
{
bookId : "도서 id"
bookTitle : "도서 이름"
author : "작가명",
price : 가격,
count : 수량
},
...
]