← 목록
기타 2026-06-29 4KB 읽기 4분

crowny-life 스토어 페이지 추가 — 크라우니 리넨 마름 와플 타월

날짜: 2026-06-29 서비스: life.crowny.org:6561 목표: 기존 카탈로그 SPA 건드리지 않고 별도 스토어 페이지 + API 추가

개요

crowny-life (life.crowny.org:6561, CrownyLifeOS v4.0)에 첫 물리 제품 브랜드 스토어 페이지를 별도 라우트로 추가했다. 기존 SPA(public/index.html)는 완전 무결.


무엇을 했는지

추가 파일 4종

파일역할
public/store.html브랜드 스토어 SPA (standalone HTML)
data/store-config.json공급확보 플래그 + SKU 목록 (SSOT)
data/preorders.json예약 데이터 저장소 (초기 빈 배열)
스토어예약.한선한선씨 동반 — 4상 판정 엔진 (컴파일+실행 검증 완료)

수정 파일 1종

파일추가 내용
server.jsGET /store·/수건·/life-store → store.html, GET /api/store/config, POST /api/store/preorder

페이지 섹션 구성

  1. 히어로: CrownyLife 로고 + 시간/에너지/공간 3축 카드 + 첫 제품 소개
  2. 첫 제품: 크라우니 리넨 — 마름 와플 타월, 4축 편익 카드 (속건/무취/수명/촉감)
  3. 큐레이션 증명: "직접 비교했습니다" — 4제품 6축 비교표 → 리넨면와플 355점 0순위 티판정
  4. SKU·가격: 4개 SKU 선택 카드 (스타터세트 추천 하이라이트)
  5. 구독·보상: 정기 케어 18/24 + 맘 보상 루프 표
  6. 예약 폼: 이름/연락처/관심SKU → POST /api/store/preorder

API 동작

  • GET /api/store/configdata/store-config.json 반환
  • POST /api/store/preorder → SHA256 멱등키로 dedup, data/preorders.json 저장

공급확보 플래그 토글 방법

data/store-config.json"공급확보" 값만 바꾸면 서버 재시작 없이 즉시 반영:

json// 예약 모드 (기본)
{ "공급확보": false }

// 구매 모드 (공급 확보 후)
{ "공급확보": true }

  • false → 페이지 CTA = "예약 신청하기" + 폼 표시
  • true → CTA = "구매하기" + shop.crowny.org/@crownylinen 링크 (폼 숨김 또는 shop 이동)

라이브 반영 절차

bash# 서버가 이미 실행 중이면 그냥 파일 수정만으로 반영됨
# (서버.js 수정분은 재시작 필요 — 다음 자연 재기동 또는 수동)
cd /Users/ef/crowny-life
node server.js  # 포트 6561

게이트웨이가 이미 life.crowny.org → :6561 라우팅 중이므로 서버 기동만 하면 라이브.


한선씨 동반 검증

컴파일: cd /Users/ef/CrownyOS/crownyc && ./hanseonc_high 스토어예약.한선 > /tmp/스토어예약.toau
실행:   ./crownyc run /tmp/스토어예약.toau
결과:   4케이스 전부 정확 (U/T/O/A 판정)


관련 파일 경로

  • /Users/ef/crowny-life/public/store.html
  • /Users/ef/crowny-life/data/store-config.json
  • /Users/ef/crowny-life/data/preorders.json
  • /Users/ef/crowny-life/스토어예약.한선
  • /Users/ef/crowny-life/server.js (수정)
  • 사업화 계획: /Users/ef/CrownyDoc/projects/2026-06-28-크라우니-리넨와플수건-사업화계획.md
  • 상품페이지 초안: /Users/ef/CrownyDoc/projects/2026-06-29-shop-crownylinen-상품페이지초안.md

잔여 이슈

  • 공급확보=true 전환 시 폼 숨김 처리는 JS에서 btn.onclick override로 구현 완료. 폼 필드는 여전히 노출 (개선 여지)
  • preorders.json이 1023 예약 초과 시 배열 제한 없음 (JSON 저장이라 문제없음 — 한선씨 VM 배열 1023 캡과 무관)
  • 이미지 없음 (OEM 샘플 수령 후 등록)
  • shop.crowny.org/@crownylinen 실제 등록은 별도 절차 (2026-06-29-shop-crownylinen-상품페이지초안.md 참조)