MAKITTDocs

Product Detail

docs/hcs-asset/product-detail.md


id: 'product-detail' status: in-progress

Product Detail

Reference

React Component

  • Path: apps/makitt-standard-commerce/src/components/assets/product-detail/
  • Status: implemented
  • 반응형: Desktop 2컬럼, Tablet 2컬럼(50/50), Mobile 1컬럼 스택
  • i18n: ko, en, ja

Prerequisites

makitt-server (shop-api)

고객 대면 API. shop storefront에서 호출.

APIMethodEndpointStatus
Get ProductGET/shop/{shopId}/products/{productId}available
Get Product by SlugGET/shop/{shopId}/products/by-slug/{slug}available
Add to CartPOST/shop/{shopId}/cart/itemsavailable
Search ProductsGET/shop/{shopId}/products/searchavailable

makitt-server (admin-api)

셀러 어드민에서 이 기능의 데이터를 관리하기 위한 API.

APIMethodEndpointStatus
Product CRUD-/shops/{shopId}/products/*available
Category CRUD-/shops/{shopId}/categories/*available
Variant Group CRUD-/shops/{shopId}/variant-groups/*available

makitt-server (도메인/모델링)

항목내용Status
Product EntityDynamoDB + OpenSearchavailable
Cart EntityDynamoDBavailable
Category EntityDynamoDBavailable
Variant Group EntityDynamoDBavailable

makitt-web (셀러 어드민 UI)

기능설명Status
상품 관리상품 CRUD, 이미지 업로드, 옵션/바리언트 관리available
카테고리 관리카테고리 CRUDavailable

makitt-shop (HCS 렌더링)

항목설명Status
section renderer레이아웃 섹션available
container renderer컨테이너available
image renderer이미지available
heading renderer제목available
text renderer텍스트available
button renderer버튼available
form rendereravailable
input renderer입력available
select renderer셀렉트available
gallery renderer갤러리available
gallery-content renderer갤러리 콘텐츠available
gallery-item renderer갤러리 아이템available
gallery-prev renderer갤러리 이전available
gallery-next renderer갤러리 다음available
gallery-pagination renderer갤러리 페이지네이션available
cart.addToCart action장바구니 추가 액션partial
product.detail resource상품 상세 리소스partial

HCS Conversion Notes

  • 상품 데이터는 resource 바인딩으로 product API와 연결
  • 이미지 갤러리는 gallery compound component 사용
  • Add to Cart는 form + submit.action: "cart.addToCart" 패턴
  • 수량 입력은 input type="number" 사용
  • 바리언트 선택은 select 또는 버튼 그룹으로 구현
  • 가격 표시에는 {{product.featuredPrice|currency}} transform 사용