남은 제품 정책을 어떤 순서로 구현하는가
이 문서는 미구현 또는 부분 구현으로 남은 3개 항목의 실행 순서와 완료 조건을 관리한다. 현재 판정의 근거는 제품 정책 구현 체크리스트에서 확인한다.
문서 목표와 대상
제품 담당자는 결정이 필요한 항목을 확정하고, 개발 담당자는 위에서부터 한 항목씩 구현한다. 각 항목은 코드, 테스트, 정책 문서 갱신, 커밋까지 끝났을 때 완료로 표시한다.
- 목표: 남은 정책마다 다음 행동과 완료 조건을 명확히 한다
- 대상: 제품, 디자인, 프론트엔드, 백엔드, 품질 보증 담당자
- 진행 규칙: 한 번에 한 항목만 구현하고 검증한 뒤 체크한다
- 열린 질문: 제품 결정이 필요한
C04,C082개 항목
바로 구현할 항목
다음 항목은 현재 정책만으로 프론트엔드 구현과 자동 테스트를 진행할 수 있다.
-
A01텍스트 블록의 입력 줄바꿈을 공개 명함과 미리보기에서 유지한다- 완료 조건: 연속 줄바꿈을 포함한 본문이
pre-wrap방식으로 표시되고 렌더링 테스트가 통과한다
- 완료 조건: 연속 줄바꿈을 포함한 본문이
-
A02링크 플랫폼을 제목이 아닌 URL 호스트로 판별한다- 완료 조건: 대표 사이트 6개의 공식 호스트와 하위 도메인을 판별하고 기타 URL은 기본 링크로 분류한다
-
A03모든 유효한 링크를 프로필 아이콘 영역에 표시하고 외부 주소로 이동한다- 완료 조건: 대표 사이트는 기존 브랜드 아이콘, 기타 링크는 체인 아이콘으로 표시한다. 모든 아이콘은 정규화한 HTTP(S) 주소를 새 탭으로 열고 하단 링크 섹션 표시도 유지한다
-
A04필수 프로필을 입력한 경우에만 명함 커스텀 화면을 연다- 완료 조건: 이름, 직함, 회사가 비어 있으면 해당 입력 오류를 표시하고 커스텀 화면을 열지 않는다
-
A05로고 업로드와 삭제 결과에 따라 토스트를 표시한다- 완료 조건: 서버 저장 성공 후 성공 토스트를 표시하고 실패 시 기존 로고를 유지하며 실패 토스트를 표시한다
백엔드 또는 실기기 확인 후 구현할 항목
다음 항목은 프론트엔드만으로 완료 여부를 판정할 수 없다.
-
B01로그인 완료 시 명함 등록 여부를 자동 확인한다- 필요한 계약: 로그인 응답에
hasBusinessCard를 추가하거나 명함 존재 여부 전용 API를 제공한다 - 완료 조건: 신규 회원 여부와 명함 등록 여부를 분리해 안내 화면 또는 Live Studio로 이동한다
- 필요한 계약: 로그인 응답에
-
B02실물 근거리 무선 통신(NFC) 태그로 공개 명함을 연다- 필요한 검증: 실제 카드 인코딩 URL, iOS, Android, 카드 상태별 서버 응답
- 완료 조건: 정상, 미연결, 분실, 비활성, 폐기 카드를 실기기에서 확인하고 결과를 기록한다
제품 결정 후 구현할 항목
다음 항목은 선택에 따라 화면과 데이터 계약이 달라진다. 구현 전에 제품 기준을 확정한다.
-
C01로그아웃 완료 후 이동 위치를 정한다- 선택지:
/login유지 또는 로그아웃 전 확보한 내 공개 명함/card/{slug}로 이동
- 선택지:
-
C02휴대폰과 이메일의 필수 입력 여부를 정한다- 선택지: 둘 다 필수 또는 선택 입력과 빈 연락처 숨김 유지
-
C03이름, 직함, 회사가 길 때 표시 방식을 정한다- 선택지: 현재 한 줄 말줄임 유지 또는 최소 폰트 크기를 정한 자동 축소
-
C04한 줄 소개와 나머지 필드의 줄 수 규칙을 정한다- 선택지: 소개 2줄과 나머지 1줄 또는 현재 모든 필드 1줄
-
C05프로필 필드별 최대 글자 수를 정한다- 필요한 값: 이름, 직함, 회사, 소개, 휴대폰, 이메일의 최대 길이
-
C06새 블록의 초기 상태를 정한다- 선택지: 추가 즉시 편집할 수 있는 펼침 상태 또는 접힘 상태
-
C07이미지 블록의 수량, 삭제 피드백, 표시 방식을 정한다- 결정: 모든 이미지 블록의 이미지 합계는 명함당 6장, 개별 이미지 삭제 토스트와 세로 이미지 Dim 처리, 공개 뷰어의 블록별 스와이프를 유지한다
-
C08명함 앞뒷면 전환 방식을 정한다- 선택지: 현재 버튼 유지 또는 드래그 방향 Flip과 탭 앞면 복귀 추가
-
C09Live Studio의 명함 저장 형식을 정한다- 결정: 편집 데이터 자동 저장과 별개로 앞면 또는 앞뒷면 PNG 저장 옵션을 제공한다
-
C10공개 명함의 저장 형식을 정한다- 결정: vCard 다운로드를 제거하고 앞뒷면 합성 PNG 한 장을 바로 저장한다
-
C11명함 저장 완료 토스트를 정한다- 완료 조건: 확정된 저장 동작이 성공한 뒤 2초 토스트를 표시한다
-
C12카카오톡 공유 방식을 정한다- 선택지: 시스템 공유 유지 또는 전용 문구와 카카오 공유 소프트웨어 개발 키트(SDK) 도입
확정되어 완료한 정책
이미 결정한 정책은 다시 열린 항목으로 다루지 않는다.
- 블록 삭제는 확인 모달과 복구 없이 즉시 처리하고 결과 토스트를 2초간 표시한다
- 계정 탈퇴는 서버에서 회원과 명함을 삭제하고 NFC 카드를 영구 폐기한 뒤 로그인 화면으로 이동한다
진행 기록
각 항목을 완료할 때 날짜와 커밋을 추가한다.
| 항목 | 완료일 | 커밋 | 결과 |
|---|---|---|---|
| A01 | 2026-07-20 | 1639d87 | 공개 명함과 미리보기의 텍스트 줄바꿈 유지 |
| C02 | 2026-07-20 | 기존 구현 | 연락처 선택 입력과 빈 연락처 숨김 유지 |
| C05 | 2026-07-20 | 기존 구현 | 소개 50자 등 현재 입력 제한 유지 |
| C06 | 2026-07-20 | 기존 구현 | 새 블록을 펼침 상태로 생성 |
| C12 | 2026-07-20 | 기존 구현 | 카카오톡 전용 SDK 없이 시스템 공유 유지 |
| A02 | 2026-07-20 | fe0f9b2 | 공식 URL 호스트로 링크 플랫폼 판별 |
| A03 | 2026-07-22 | 2f5dcff | 일반 링크를 체인 아이콘으로 표시하고 클릭 이동 |
| A04 | 2026-07-20 | 3bba059 | 필수 프로필 입력 후 명함 커스텀 허용 |
| A05 | 2026-07-20 | e300009 | 로고 저장 성공·실패 토스트와 상태 복원 |
| B01 | 2026-07-20 | 372b844 | 로그인 후 명함 등록 여부 조회 |
| C01 | 2026-07-20 | f0f8610 | 로그아웃 후 로그인 화면 이동으로 통일 |
| C07 | 2026-07-20 | 25fc0d2 | 블록별 갤러리와 세로 이미지 Dim 처리 |
| C03 | 2026-07-20 | 기존 구현 | 디자인 폰트 크기와 한 줄 말줄임 유지 |
| C09 | 2026-07-20 | ed4e862 | Live Studio 앞면·앞뒷면 PNG 저장 선택 |
| C10 | 2026-07-20 | ed4e862 | 공개 명함 앞뒷면 합본 PNG 저장 |
| C11 | 2026-07-20 | ed4e862 | 이미지 저장 결과 토스트 2초 표시 |