Route
/matches매칭 결과 목록사용자 모바일 · P0/matches
최대 3명 호감 투표와 앱·프로필 매칭 결과 안내 화면
투표는 최대 3명·수정 불가·행사 종료 후 10분 기준으로 고정하고, 매칭 결과는 앱/프로필 안내와 실시간 대화 제외 경계를 함께 둡니다.
서툰 우리의 옆자리Concept C — Social Event
매칭 결과는 앱과 프로필 페이지로 안내하되 V1 실시간 대화처럼 보이지 않게 한다.
투표와 매칭
행사 이후 공개된 매칭 결과를 확인합니다.
매칭 결과
2 / 5사진, 대화 기억, 운영 확인 신호를 한 화면 안에서 비교합니다.
상대 정보보다 내가 기억하는 대화 맥락과 운영 기준을 앞에 둡니다.
연락처나 개인 식별 정보는 고객 정책 확정 전까지 노출하지 않습니다.
선택은 미리보기 상태이며 실제 매칭 공개나 알림 발송을 의미하지 않습니다.
매칭 결과
상세 화면에서 공개 범위와 문의/신고 동선을 확인합니다. 실시간 대화 기능은 V1에 포함하지 않습니다.
매칭 결과는 앱과 프로필 페이지로 안내하고 실시간 대화는 V1에서 제외
다음 이동
결과를 확인한 뒤 필요한 문의나 신고 동선으로 이어갈 수 있습니다.
Template family
투표 저장/매칭 공개 API 대기
UI primitives
State contract
디자인과 실데이터를 기다리는 동안에도 모든 route가 같은 실패/대기/빈값 골격을 유지하도록 화면별 상태 계약을 고정합니다.
Loading
최대 3명 선택, 수정 불가, 종료 후 10분 마감 기준을 반영한 투표/매칭 상태를 불러오는 중입니다.
Empty
아직 표시할 투표 또는 매칭 결과가 없습니다. 결과는 앱과 프로필 페이지 안내 범위에서 표시합니다.
Error
실제 계정·정책·결제 연동 전에는 외부 요청을 만들지 않고, 재시도·문의·뒤로가기 위치만 계약으로 고정합니다.
Blocked
실제 투표 저장, 마감 시각 검증, 매칭 결과 발송은 Firebase 연결과 운영 정책 확정 후 활성화합니다.
Success
투표 결과와 매칭 정보를 차분히 확인할 수 있습니다. 다음 단계는 매칭 상대 프로필에서 이어서 확인할 수 있어요.
Primary action
상대 프로필 보기/matches/[matchId]customer input requiredRequired data
Customer input
Next routes
/matches/[matchId]/meAction/Form contract
`screen-action-contract.json` 기준 primary CTA, form field, 상태전이, provider 차단, audit requirement를 화면에 직접 표시합니다. 현재 경계는 fixture-only-no-provider-call이며 no provider calls before customer accounts 정책을 유지합니다.
Primary CTA
매칭 결과 앱/프로필 페이지 안내와 V1 실시간 대화 제외 경계를 전제로 한 fixture-only CTA입니다.
statusTransition상대 프로필 보기/matches/demo-matchProvider block
Firebase·Toss·Storage·Auth production call은 고객 계정 수령 전까지 차단합니다.
Audit requirement
none
noneForm preview
입력 폼 없음이 화면은 primary CTA 또는 상태전이만 fixture로 표시합니다.상대 프로필 보기을 누르면 투표와 매칭 확인으로 자연스럽게 이어집니다.
잠시만 기다리면 매칭 결과 목록 상태가 화면에 정리됩니다.
투표 결과와 매칭 정보를 차분히 확인할 수 있습니다. 다음 단계는 매칭 상대 프로필에서 이어서 확인할 수 있어요.
입력한 내용과 화면 안내를 확인한 뒤 상대 프로필 보기을 다시 눌러 주세요.
매칭 공개 기준과 투표 안내 문구 확인이 필요합니다. 준비되면 상대 프로필 보기을 다시 진행할 수 있습니다.
사용자가 primary action을 실행합니다.
외부 provider 호출 없이 fixture 성공 상태를 표시합니다.
검증/fixture 오류 상태를 표시합니다.
고객 로고/계정/정책 blocker가 남아 있으면 blocked 상태를 유지합니다.
필수 입력이 해결되면 기본 상태로 돌아갑니다.
Fixture interaction runner
실 provider 호출 없이 primary CTA, role decision, form submit, state transition, audit requirement를 fixture-only로 점검합니다.
Role access
user6 denied rolesPrimary flow
상대 프로필 보기/matches/demo-matchForm submit
none0 required fields provided by fixtureAudit/provider
audit not required1 blocked providers, 0 callsFixture payload
실제 Firebase/Toss/정책 원문 대신 사용할 최소 payload입니다. 화면 구조와 DTO 슬롯을 먼저 맞추고, 고객 계정·정책 수령 후 실제 데이터로 교체합니다.
Payload contract
votingMatchpayload-matchesmatchSummary
매칭 결과를 앱과 프로필 페이지에서 안내하되 V1 실시간 대화는 제외하는 match fixture payload입니다. 실제 provider 호출 없이 layout과 DTO 슬롯만 확인합니다.
route-matches-fixture전달 경로
실시간 대화
매칭 결과는 앱과 프로필 페이지로 안내하고 실시간 대화는 V1에서 제외
Table columns
participant auth
max-3-vote-policy-applied
vote-edit-locked
match-chat-post-v1
audit-friendly state