Saleor Store
우리 컬렉션을 쇼핑하세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기jey4754-png/O2O
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
위치기반 공동구매 O2O Wizard of Oz MVP 예비창업 거래 가설을 검증하기 위한 웹/PWA형 테스트 앱입니다. PG 결제와 운영용 회원 인증 대신, 그룹 채팅과 수동 상태 관리로 실제 이용 흐름을 검증합니다. 중앙 API 없이 로컬 관리자 흐름까지 확인하려면 개발 환경에서만 아래처럼 PIN을 지정합니다. 이 값은 운영 관리자 PIN을 대신하지 않습니다. 단계별 검수 배포는 아래 릴리스 단계로 제어합니다. 값이 없거나 잘못되면 현재 완료 범위인 9일차 기능을 노출합니다. 6일차 화면을 다시 확인할 때만 값을 명시적으로 6으로 설정합니다. • 6일차: 계산기·11개 카테고리·그룹/입금 상태·되돌리기·목표 인원 • 8일차: 채팅·관리자·미확인 배지 • 9일차: 그룹 공유·딥링크 • 중앙 API가 연결되지 않은 6일차 화면 검수용 Preview에서만 VITE_ENABLE_GROUP_LOCAL_FALLBACK=true를 사용할 수 있습니다. 이 경우 상태는 동일 브라우저에만 저장되므로 다중 기기 검수용으로 사용하지 않습니다. .env에 아래 값을 넣으면 로컬 이벤트 로그와 함께 PostHog로 이벤트가 전송됩니다.README 전문 보기 ↗
예비창업 거래 가설을 검증하기 위한 웹/PWA형 테스트 앱입니다. PG 결제와 운영용 회원 인증 대신, 그룹 채팅과 수동 상태 관리로 실제 이용 흐름을 검증합니다.
pnpm install
pnpm dev
pnpm test
pnpm build
중앙 API 없이 로컬 관리자 흐름까지 확인하려면 개발 환경에서만 아래처럼 PIN을 지정합니다. 이 값은 운영 관리자 PIN을 대신하지 않습니다.
VITE_O2O_LOCAL_ADMIN_PIN=2468 pnpm dev
단계별 검수 배포는 아래 릴리스 단계로 제어합니다. 값이 없거나 잘못되면 현재 완료 범위인 9일차 기능을 노출합니다. 6일차 화면을 다시 확인할 때만 값을 명시적으로 6으로 설정합니다.
VITE_RELEASE_PHASE=9
O2O_RELEASE_PHASE=9
VITE_ENABLE_GROUP_LOCAL_FALLBACK=true를 사용할 수 있습니다. 이 경우 상태는 동일 브라우저에만 저장되므로 다중 기기 검수용으로 사용하지 않습니다..env에 아래 값을 넣으면 로컬 이벤트 로그와 함께 PostHog로 이벤트가 전송됩니다.
VITE_POSTHOG_KEY=phc_xxx
VITE_POSTHOG_HOST=https://app.posthog.com
키가 없으면 브라우저 localStorage에 이벤트와 주문 이력이 저장됩니다. PostHog에는 이름·연락처를 제외한 고객번호·지역·행동 속성만 전송하고, 이름·연락처는 Google Sheets 중앙 수집에만 사용합니다.
Web analytics에서 새 배포 이후의 $pageview를 확인합니다.Activity에서 survey_submitted 커스텀 이벤트로 확인합니다. PostHog의 별도 Surveys 메뉴에는 표시되지 않습니다.screen_view, screen_dwell, 자동 클릭 이벤트 및 Session replay에서 확인합니다.호스트로 참여 / 호스트 지원 요청 선택과 호스트 지원자의 원자적 권한 승격targetPeople/currentPeople)과 상품(totalQuantity/orderedQuantity/selectedQuantity) 데이터를 분리해 다중 기기 수량 초과 참여 방지모집 중 → 모집 완료 → 상품 구매 완료 → 전달 완료 및 호스트·관리자의 한 단계 전진/되돌리기입금대기 → 입금확인요청 → 입금완료, 참여자의 요청 취소와 호스트·관리자의 완료 취소전국 지역 목록은 행정표준코드관리시스템의 법정동 코드를 기준으로 생성합니다. node scripts/fetch-regions.mjs로 최신 목록을 다시 생성할 수 있습니다.
/dashboard에서 전체 방문자·이벤트·Funnel·지역 현황을 30초 단위로 확인합니다.전체 이벤트 탭에서 원본 행동 데이터를 확인합니다.설문 응답 탭에서 고객번호·이름·연락처·문항별 응답·제출 시간을 한 행으로 확인합니다.브라우저 데이터나 캐시를 삭제하면 로컬 기록이 사라질 수 있으므로 CSV를 먼저 보관해야 합니다.
운영 환경에서는 track() 이벤트를 /api/collect로 전송합니다. 프로필·설문·상품/그룹/주문 상태와 중앙 대시보드 집계에 필요한 screen_view·open_listing·share_clicked는 Apps Script 웹앱을 통해 Google Sheets에 저장합니다. 체류·탭·필터·슬라이더 조작 같은 나머지 고빈도 UI 이벤트는 PostHog와 로컬 기록만 사용해 주문·그룹 저장용 Apps Script 잠금을 점유하지 않습니다. 중앙 저장이 일시적으로 바쁘거나 네트워크 오류가 나면 브라우저 재시도 큐에 보존됩니다.
Vercel에는 아래 환경변수가 필요합니다. Apps Script 소스 템플릿은 apps-script/Code.gs에 있으며, 변경 후 웹 앱을 새 버전으로 배포해야 합니다.
GOOGLE_SHEETS_COLLECTOR_URL=https://script.google.com/macros/s/.../exec
GOOGLE_SHEETS_COLLECTOR_TOKEN=...
O2O_ADMIN_PIN=...
O2O_CAPABILITY_SECRET=...
O2O_RELEASE_PHASE=9
관리자 PIN은 관리자 앱 → 상품·주문 관리자 운영 관리에서 로그인 후 변경할 수 있습니다. 새 PIN은 숫자 8~12자리이며 현재 PIN 확인이 필요합니다. 첫 변경 이후에는 GAS ScriptProperties의 O2O_ADMIN_CREDENTIAL_V1 해시가 인증 기준이 되고, O2O_ADMIN_PIN 환경변수를 바꿔도 중앙 PIN을 덮어쓰지 않습니다. 배포 시 GAS 버전 16 이상을 먼저 반영해야 합니다. 중앙 속성이 없을 때만 환경변수 PIN으로 초기 인증하므로, 운영 복구 시 해당 속성을 삭제하지 마세요. 기존 그룹 capability 세션은 PIN 변경으로 일괄 폐기되지 않습니다.
O2O_CAPABILITY_SECRET은 호스트·참여자 권한 토큰 생성용이며 운영/미리보기 환경에 같은 값을 설정합니다.O2O_DATA_API_ORIGIN과 양쪽의 동일한 O2O_DATA_API_TOKEN이 필요합니다.O2O_ALLOWED_ORIGINS에 쉼표로 구분해 등록할 수 있습니다.전체 이벤트, 설문 응답, 공개 상품, 주문 내역은 유지되고 그룹, 그룹 참여자, 그룹 채팅, 상태 이력 시트가 추가됩니다.배포 전 pnpm verify:release로 단위·API·실제 GAS 코드 검수, 빌드, 모바일 Chromium·WebKit 회귀 검수를 함께 실행합니다. 저장 실패, 응답 유실, 오래된 브라우저 처리 기록, 지연된 조회 응답, 화면 이탈, 중앙에 없는 로컬 상품을 포함합니다. 이 검수는 가상 시트를 사용하므로 실제 고객 기기의 성공과 구분합니다. 고객 제보는 같은 상품·브라우저 기록과 중앙 저장 결과를 확인하기 전까지 전체 해결로 표시하지 않습니다. 운영 주문·입금은 검수용으로 변경하지 않습니다.
운영 확인 절차와 과거 기록의 복구 조건은 운영·인수 확인 안내, 계약 별지 A-01~A-12의 최종 상태와 인수 체크는 최종 검수·인수 확인서, 최신 대화와의 대조 결과는 9월 11일 피드백 대조표에 기록합니다. 로컬 검수, 운영 반영, 고객 확인, 과거 데이터 복구를 각각 구분합니다.
모집 종료 · 배정 X / 총 Y와 미배정 수량을 사실대로 표시합니다.