← 목록
기타 2026-06-10 2KB 읽기 2분

Crowny Finance 초대 바이럴 + 칩 앵커링 검증

개요

finance.crowny.org(:9754 프록시 → :9750 한선씨 백엔드)의 초대 바이럴 서비스 (전화번호부 동기화 + 가입 알림 broadcast + 1맘≈25.5원 보상)를 검증하고, 프론트 칩 앵커링/화면 밀도를 개선했다.

무엇을 했는지

  • 백엔드 컴파일 검증 (hanseonc_high, exit 0, 2.97MB toau) + :9750 기동
  • 초대 API 엔드투엔드 검증 (모두 PASS):
  • /api/invite/sync — 연락처 해시(SHA-256) 등록, 쌍 dedup, 자가등록 거부
  • /api/invite/join — 해시매칭→1맘 지급(멱등: 첫가입=보상+알림, 이후=알림만), 자가가입 보상 제외
  • /api/invite/feed/:user, /rewards/:user, /stats — 정상
  • 정산: 1맘=25.5원=floor(mom255/10) → krw=25, 2맘=51원 검증
  • 대화 상태기계 풀플로우 검증: greet→need→recommend→collect(이름/연락처/이메일 3건 서버캡처)
  • →received(접수트리거 #11 생성)→track. 슬롯13 단일 진실원 게이팅 정합.
    • 프론트 칩 앵커링 개선 (chat.js setChips): 하단 고정 트레이 중복·가로클리핑 제거,
    최신 봇 메시지 바로 아래 인라인 앵커만 표시. 봇 메시지 부재 시에만 트레이 폴백.
    • chat.css .chips max-width: calc(100% - 36px) 추가 (가로 오버플로 방지)
    • 모바일 검증: overflow=false 확인(docScrollW==docClientW). 베이지+골드, ◇ TOAU,
    Claude 스타일 일치. 가입 토스트 "홍
    동님이 크라우니에 가입하셨습니다! +1맘" 마스킹 정상.

    관련 파일

    • /Users/ef/crowny-finance/src/크라우니파이낸스.한선 (백엔드, 1737줄 — 초대 로직 1021~1320)
    • /Users/ef/crowny-finance/web/assets/chat.js (setChips 칩 앵커링)
    • /Users/ef/crowny-finance/web/assets/chat.css (.chips max-width)
    • 스크린샷: /tmp/invite-final.png, /tmp/finance-invite-before/after.png

    잔여 이슈

    • 초대DB(연락처/보상)는 in-memory — 재시작 시 보상 누적 소실. receipts.dat처럼 파일 영속화 필요시 별도.
    (실제 정산은 reward9738 배치가 담당 — 원장 적립 지시만 표현하므로 현 설계상 허용)
    • 채팅 collect 생성 접수의 category가 source로 폴백됨(rental) — 추후 카탈로그 선택 반영 여지.