Skip to content

Latest commit

 

History

History
146 lines (111 loc) · 11 KB

File metadata and controls

146 lines (111 loc) · 11 KB

02. 사람 (등록 · 프로필)

SSOT: 인물 등록/수정, 사람 프로필(관계 요약·취향·태그·통계), 즐겨찾기의 단일 기준. 상위 배경·목표: 개요 · 관련 화면: 01 홈, 03 타임라인, 04 기록 작성 공통 규칙(이미지·칩·글자수·날짜 표시·에러/빈상태 문구·접근성): 공통 기준 — 이 문서는 재정의하지 않고 참조한다. 백엔드: 인물(person) 이슈

이 문서는 등록/수정 화면(7.2)조회 화면(7.3) 을 함께 다룬다. 두 화면은 같은 인물 데이터를 공유하므로 필드 정의를 여기 한곳에 둔다.


2. 사람 추가 / 프로필 등록

목적: 새 인물을 등록하고, 이후 기록과 회고의 기준이 되는 기본 정보를 저장한다.

입력 항목

  • 프로필 사진
  • 이름
  • 생일
  • 처음 만난 날
  • 마지막 만난 날짜
  • 관계 태그 (개인화 칩, 여러 개)
  • 관계 유형 (한 사람당 하나 — 예: 회사 동료, 친구, 스터디원)
  • 좋아하는 것 (여러 항목)
  • 조심할 것 (여러 항목)
  • 즐겨찾기 여부

인물에는 ‘카테고리 태그’를 두지 않는다. 카테고리(만남·연락·기념일·기타)는 기록에만 붙는 칩이다 → 04. 프로필에서는 ‘최근 함께한 일’ 카드에 기록에서 따라 들어와 보일 뿐, 사람 자체에는 저장하지 않는다. (기존 초안의 인물 ‘카테고리 태그’ 항목은 채택하지 않음.)

자동 계산/표시 항목 (입력 아님 — 저장된 데이터로 파생. 표시 규칙은 §6)

  • 처음 만난 날 기준 경과일
  • 마지막 만난 날짜 기준 경과일
  • 알고 지낸 시간
  • 만난 횟수
  • 새긴 기록 개수 → 04 기록에서 생성
  • 최근 함께한 일 → 03 타임라인의 최신 이벤트

3. 사람 프로필 (조회)

목적: 특정 사람과의 관계 정보를 요약하고, 타임라인 또는 프로필 정보로 전환해 볼 수 있게 한다.

주요 요소

  • 상단 탭: 타임라인 / 프로필 (타임라인 탭 → 03)
  • 프로필 사진 / 이름 / 생일
  • 처음 만난 날 / 마지막 만난 날짜 / 경과일 표시
  • 관계 태그(여러 개) + 태그 기반 그룹화 표시
  • 관계 유형 (강조 표시 — 예: 회사 동료)
  • 알고 지낸 시간 / 만난 횟수 / 새긴 기록 개수
  • 최근 함께한 일 (최대 3개)
  • 좋아하는 것 / 조심할 것
  • 즐겨찾기 상태 (이름 옆 ★)
  • 프로필 수정 / 인물 삭제 진입

상호작용

  • 타임라인 탭 → 해당 사람의 기록 목록으로 전환. → 03
  • 프로필 탭 → 기본 정보와 관계 요약 표시.
  • 프로필 수정 → 등록 정보 수정(위 §2 입력 항목 재사용). 수정 화면에서 인물 삭제도 할 수 있다(→ §7).
  • 상황 기록 작성 진입 → 04 (연결할 사람 = 이 인물 프리셋).
  • 최근 함께한 일전체 보기 → 타임라인 탭.
  • 이름 옆 를 눌러 즐겨찾기를 바로 켜고 끈다. 켜면 홈 관계도 맵에서 테두리 강조. → 01

4. 입력·필드 상세 스펙

글자수·중복·이미지 규칙 등 공통 정의는 공통 기준을 따른다. 아래는 인물 화면에서 확정한 값이다.

항목 타입 필수 제약·검증 기본값 비고
프로필 사진 이미지 1장 선택 용량·포맷 제한은 공통 기준 이름 첫 글자 이니셜 아바타 없으면 이니셜 아바타
이름 텍스트 한 줄 필수 최대 20자. 같은 이름 여러 명 허용(동명이인 가능) 이름이 유일할 필요 없음
생일 날짜 선택 연도는 선택(연도 없이 월 일만도 가능). 연도를 넣으면 오늘보다 미래일 수 없음 생일·다가오는 생일 표시 근거
처음 만난 날 날짜 선택 오늘보다 미래일 수 없음 경과일·알고 지낸 기간 기준
마지막 만난 날짜 날짜 선택 처음 만난 날 이후 그리고 오늘 이하 새 기록을 남기면 더 최근 날짜로 자동 갱신 → 04
관계 유형 텍스트 한 줄(추천값 제공) 선택 최대 20자. 한 사람당 하나. 추천값(친구·회사 동료·가족·연인·스터디원·이웃·지인)을 고른 뒤 자유롭게 고쳐 쓸 수 있음 (mock-person)의 강조 태그
관계 태그 칩(다중) 선택 한 사람당 최대 10개. 라벨 글자수·중복 금지는 공통 기준. 미리 주어진 시드 없음 홈에서 그룹화·필터 근거 → 01
좋아하는 것 목록(여러 항목) 선택 항목마다 최대 30자, 최대 20개. 같은 항목 중복 금지 빈 목록 (mock-person) 여러 항목 리스트
조심할 것 목록(여러 항목) 선택 좋아하는 것과 동일 빈 목록 비선호를 ‘조심할 것’으로 표현(따뜻한 톤, 점수화 아님)
즐겨찾기 불리언 선택 꺼짐 §5

태그 체계 정리 — 인물의 태그는 두 가지뿐이다.

  • 관계 유형: 이 관계를 한마디로 부르는 하나의 짧은 텍스트(추천값 + 자유입력). (mock-person)의 강조 태그.
  • 관계 태그: 그룹화·필터에 쓰는 개인화 칩(여러 개). (mock-person)의 일반 태그.
  • ‘카테고리 태그’는 인물 필드가 아니다(위 §2 참고).

5. 즐겨찾기

  • 즐겨찾기는 인물 단위 on/off 토글이며, 기본값은 꺼짐이다.
  • 프로필에서 이름 옆 로 상태를 보여주고, ★를 눌러 바로 켜고 끈다(별도 확인 절차 없음).
  • 효과(SSOT): 켜면 홈 관계도 맵에서 해당 인물의 테두리를 강조하고 ★로 표시한다. 표시 규칙은 01.
  • 리스트뷰에서도 이름 옆 ★로 표시한다(표시 규칙 → 01).

6. 정책

표시·파생 규칙 (날짜·상대시간의 표기 형식 상세는 공통 기준의 표시 포맷을 따른다)

  • 처음 만난 날: 절대 날짜와 함께 만난 지 며칠째인지 N일째로 표시한다(만난 날을 1일째로 센다).
  • 생일: 월 일과 다가오는 생일까지 남은 D-n을 함께 표시한다.
  • 마지막 만남: 마지막 만난 날짜를 기준으로 상대시간(오늘·어제·N일 전 …)으로 표시한다.
  • 알고 지낸 기간: 처음 만난 날부터 오늘까지를 가장 큰 단위 하나로 표시한다(예: 6년).
  • 만난 횟수: ‘만남’ 카테고리 기록의 고유 날짜 수로 센다(같은 날 여러 번 기록해도 1회). 근거: 카테고리로 만남과 연락 등을 이미 구분한다.
  • 새긴 기록 개수: 이 사람과 연결된 전체 기록 수(모든 카테고리).
  • 최근 함께한 일: 타임라인의 최신 기록에서 최대 3개를 보여준다.

관계 표현 원칙

  • 관계 태그는 여러 개 선택할 수 있고, 홈에서 그룹화·필터의 근거가 된다. → 01
  • 관계를 점수화·서열화·평가하는 표현은 쓰지 않는다.

7. 상태·엣지케이스

  • 이름 누락: 저장할 수 없고, 이름 자리에 입력을 안내한다. (안내 문구 → 공통 기준)
  • 날짜만 있고 기록이 없을 때: 만난 횟수와 새긴 기록 개수는 0. 마지막 만남은 마지막 만난 날짜가 있으면 그 상대시간, 없으면 . 알고 지낸 기간은 처음 만난 날이 있으면 계산, 없으면 .
  • 생일·처음 만난 날 미입력: 해당 정보행을 숨긴다(빈 값으로 남기지 않는다).
  • 좋아하는 것 / 조심할 것 미입력: 조회 화면에서 내용이 있는 쪽만 보여주고, 둘 다 없으면 섹션 전체를 숨긴다(빈 문구로 재촉하지 않는다 — 따뜻한 톤). 수정 화면에서는 두 목록을 항상 편집할 수 있다.
  • 최근 함께한 일 0건: 섹션을 숨긴다.
  • 날짜 검증 위반: 미래이거나 순서가 어긋나면 저장을 막고 안내한다. (문구 → 공통 기준: 미래 불가 / 순서 오류)
  • 글자수·중복·개수 초과:
    • 각 글자수 상한을 넘으면 안내한다(문구 → 공통 기준).
    • 관계 태그는 최대 10개. 더 담으려 하면 안내한다: "관계 태그는 최대 10개까지 담을 수 있어요."
    • 좋아하는 것·조심할 것은 각각 최대 20개. 더 담으려 하면 안내한다: "최대 20개까지 담을 수 있어요."
    • 같은 항목을 또 담으면 안내한다(→ 공통 기준: 중복).
  • 수정 취소(변경한 내용 있음): "변경한 내용이 저장되지 않아요. 나갈까요?"
  • 인물 삭제: 되돌릴 수 없고 연결된 기록도 함께 사라진다. 확인을 받는다: "삭제하면 되돌릴 수 없어요. 함께 새긴 기록도 모두 사라져요. 삭제할까요?"
  • 저장 실패: 안내 후 다시 시도하게 한다(→ 공통 기준).

8. 데이터 · 백엔드 연동

  • 인물 등록·조회·수정, 즐겨찾기 켜고 끄기, 관계 태그·좋아하는것/조심할것 관리, 요약 통계·기본 정보 계산 — 백엔드 person

9. 관련 사용자 흐름

사람을 등록한다

  1. 홈에서 + 사람 추가를 누른다. → 01
  2. 프로필 사진, 이름, 생일, 처음 만난 날, 관계 태그를 입력한다.
  3. 좋아하는 것/조심할 것과 즐겨찾기 여부를 선택한다.
  4. 저장 후 사람 프로필로 이동한다.

10. 열린 질문 / 리스크

  • 관계 정보를 직접 입력하는 것을 사용자가 부담스러워하지 않을지 검증 필요.
  • 좋아하는 것/조심할 것이 "따뜻한 기록" vs "관리 대상"으로 느껴지는지 검증 필요.
  • (결론) 좋아하는 것/조심할 것의 입력 형태는 여러 항목 목록(다건 리스트)으로 확정. 근거: (mock-person)에서 여러 항목으로 표시됨.
  • (결론) 만난 횟수는 ‘만남’ 카테고리 기록의 고유 날짜 수로 확정(같은 날 여러 기록은 1회). → §6