SSOT: 인물 등록/수정, 사람 프로필(관계 요약·취향·태그·통계), 즐겨찾기의 단일 기준. 상위 배경·목표: 개요 · 관련 화면: 01 홈, 03 타임라인, 04 기록 작성 공통 규칙(이미지·칩·글자수·날짜 표시·에러/빈상태 문구·접근성): 공통 기준 — 이 문서는 재정의하지 않고 참조한다. 백엔드: 인물(person) 이슈
이 문서는 등록/수정 화면(7.2) 과 조회 화면(7.3) 을 함께 다룬다. 두 화면은 같은 인물 데이터를 공유하므로 필드 정의를 여기 한곳에 둔다.
목적: 새 인물을 등록하고, 이후 기록과 회고의 기준이 되는 기본 정보를 저장한다.
입력 항목
- 프로필 사진
- 이름
- 생일
- 처음 만난 날
- 마지막 만난 날짜
- 관계 태그 (개인화 칩, 여러 개)
- 관계 유형 (한 사람당 하나 — 예: 회사 동료, 친구, 스터디원)
- 좋아하는 것 (여러 항목)
- 조심할 것 (여러 항목)
- 즐겨찾기 여부
인물에는 ‘카테고리 태그’를 두지 않는다. 카테고리(만남·연락·기념일·기타)는 기록에만 붙는 칩이다 → 04. 프로필에서는 ‘최근 함께한 일’ 카드에 기록에서 따라 들어와 보일 뿐, 사람 자체에는 저장하지 않는다. (기존 초안의 인물 ‘카테고리 태그’ 항목은 채택하지 않음.)
자동 계산/표시 항목 (입력 아님 — 저장된 데이터로 파생. 표시 규칙은 §6)
목적: 특정 사람과의 관계 정보를 요약하고, 타임라인 또는 프로필 정보로 전환해 볼 수 있게 한다.
주요 요소
- 상단 탭:
타임라인/프로필(타임라인 탭 → 03) - 프로필 사진 / 이름 / 생일
- 처음 만난 날 / 마지막 만난 날짜 / 경과일 표시
- 관계 태그(여러 개) + 태그 기반 그룹화 표시
- 관계 유형 (강조 표시 — 예: 회사 동료)
- 알고 지낸 시간 / 만난 횟수 / 새긴 기록 개수
- 최근 함께한 일 (최대 3개)
- 좋아하는 것 / 조심할 것
- 즐겨찾기 상태 (이름 옆 ★)
- 프로필 수정 / 인물 삭제 진입
상호작용
타임라인탭 → 해당 사람의 기록 목록으로 전환. → 03프로필탭 → 기본 정보와 관계 요약 표시.프로필 수정→ 등록 정보 수정(위 §2 입력 항목 재사용). 수정 화면에서 인물 삭제도 할 수 있다(→ §7).상황 기록 작성진입 → 04 (연결할 사람 = 이 인물 프리셋).최근 함께한 일의전체 보기→ 타임라인 탭.- 이름 옆 ★를 눌러 즐겨찾기를 바로 켜고 끈다. 켜면 홈 관계도 맵에서 테두리 강조. → 01
글자수·중복·이미지 규칙 등 공통 정의는 공통 기준을 따른다. 아래는 인물 화면에서 확정한 값이다.
| 항목 | 타입 | 필수 | 제약·검증 | 기본값 | 비고 |
|---|---|---|---|---|---|
| 프로필 사진 | 이미지 1장 | 선택 | 용량·포맷 제한은 공통 기준 | 이름 첫 글자 이니셜 아바타 | 없으면 이니셜 아바타 |
| 이름 | 텍스트 한 줄 | 필수 | 최대 20자. 같은 이름 여러 명 허용(동명이인 가능) | — | 이름이 유일할 필요 없음 |
| 생일 | 날짜 | 선택 | 연도는 선택(연도 없이 월 일만도 가능). 연도를 넣으면 오늘보다 미래일 수 없음 |
— | 생일·다가오는 생일 표시 근거 |
| 처음 만난 날 | 날짜 | 선택 | 오늘보다 미래일 수 없음 | — | 경과일·알고 지낸 기간 기준 |
| 마지막 만난 날짜 | 날짜 | 선택 | 처음 만난 날 이후 그리고 오늘 이하 | — | 새 기록을 남기면 더 최근 날짜로 자동 갱신 → 04 |
| 관계 유형 | 텍스트 한 줄(추천값 제공) | 선택 | 최대 20자. 한 사람당 하나. 추천값(친구·회사 동료·가족·연인·스터디원·이웃·지인)을 고른 뒤 자유롭게 고쳐 쓸 수 있음 | — | (mock-person)의 강조 태그 |
| 관계 태그 | 칩(다중) | 선택 | 한 사람당 최대 10개. 라벨 글자수·중복 금지는 공통 기준. 미리 주어진 시드 없음 | — | 홈에서 그룹화·필터 근거 → 01 |
| 좋아하는 것 | 목록(여러 항목) | 선택 | 항목마다 최대 30자, 최대 20개. 같은 항목 중복 금지 | 빈 목록 | (mock-person) 여러 항목 리스트 |
| 조심할 것 | 목록(여러 항목) | 선택 | 좋아하는 것과 동일 | 빈 목록 | 비선호를 ‘조심할 것’으로 표현(따뜻한 톤, 점수화 아님) |
| 즐겨찾기 | 불리언 | 선택 | — | 꺼짐 | §5 |
태그 체계 정리 — 인물의 태그는 두 가지뿐이다.
- 관계 유형: 이 관계를 한마디로 부르는 하나의 짧은 텍스트(추천값 + 자유입력). (mock-person)의 강조 태그.
- 관계 태그: 그룹화·필터에 쓰는 개인화 칩(여러 개). (mock-person)의 일반 태그.
- ‘카테고리 태그’는 인물 필드가 아니다(위 §2 참고).
- 즐겨찾기는 인물 단위 on/off 토글이며, 기본값은 꺼짐이다.
- 프로필에서 이름 옆 ★로 상태를 보여주고, ★를 눌러 바로 켜고 끈다(별도 확인 절차 없음).
- 효과(SSOT): 켜면 홈 관계도 맵에서 해당 인물의 테두리를 강조하고 ★로 표시한다. 표시 규칙은 01.
- 리스트뷰에서도 이름 옆 ★로 표시한다(표시 규칙 → 01).
표시·파생 규칙 (날짜·상대시간의 표기 형식 상세는 공통 기준의 표시 포맷을 따른다)
- 처음 만난 날: 절대 날짜와 함께 만난 지 며칠째인지
N일째로 표시한다(만난 날을 1일째로 센다). - 생일:
월 일과 다가오는 생일까지 남은D-n을 함께 표시한다. - 마지막 만남: 마지막 만난 날짜를 기준으로 상대시간(오늘·어제·N일 전 …)으로 표시한다.
- 알고 지낸 기간: 처음 만난 날부터 오늘까지를 가장 큰 단위 하나로 표시한다(예: 6년).
- 만난 횟수: ‘만남’ 카테고리 기록의 고유 날짜 수로 센다(같은 날 여러 번 기록해도 1회). 근거: 카테고리로 만남과 연락 등을 이미 구분한다.
- 새긴 기록 개수: 이 사람과 연결된 전체 기록 수(모든 카테고리).
- 최근 함께한 일: 타임라인의 최신 기록에서 최대 3개를 보여준다.
관계 표현 원칙
- 관계 태그는 여러 개 선택할 수 있고, 홈에서 그룹화·필터의 근거가 된다. → 01
- 관계를 점수화·서열화·평가하는 표현은 쓰지 않는다.
- 이름 누락: 저장할 수 없고, 이름 자리에 입력을 안내한다. (안내 문구 → 공통 기준)
- 날짜만 있고 기록이 없을 때: 만난 횟수와 새긴 기록 개수는
0. 마지막 만남은 마지막 만난 날짜가 있으면 그 상대시간, 없으면—. 알고 지낸 기간은 처음 만난 날이 있으면 계산, 없으면—. - 생일·처음 만난 날 미입력: 해당 정보행을 숨긴다(빈 값으로 남기지 않는다).
- 좋아하는 것 / 조심할 것 미입력: 조회 화면에서 내용이 있는 쪽만 보여주고, 둘 다 없으면 섹션 전체를 숨긴다(빈 문구로 재촉하지 않는다 — 따뜻한 톤). 수정 화면에서는 두 목록을 항상 편집할 수 있다.
- 최근 함께한 일 0건: 섹션을 숨긴다.
- 날짜 검증 위반: 미래이거나 순서가 어긋나면 저장을 막고 안내한다. (문구 → 공통 기준: 미래 불가 / 순서 오류)
- 글자수·중복·개수 초과:
- 수정 취소(변경한 내용 있음): "변경한 내용이 저장되지 않아요. 나갈까요?"
- 인물 삭제: 되돌릴 수 없고 연결된 기록도 함께 사라진다. 확인을 받는다: "삭제하면 되돌릴 수 없어요. 함께 새긴 기록도 모두 사라져요. 삭제할까요?"
- 저장 실패: 안내 후 다시 시도하게 한다(→ 공통 기준).
- 인물 등록·조회·수정, 즐겨찾기 켜고 끄기, 관계 태그·좋아하는것/조심할것 관리, 요약 통계·기본 정보 계산 — 백엔드 person
사람을 등록한다
- 홈에서
+ 사람 추가를 누른다. → 01 - 프로필 사진, 이름, 생일, 처음 만난 날, 관계 태그를 입력한다.
- 좋아하는 것/조심할 것과 즐겨찾기 여부를 선택한다.
- 저장 후 사람 프로필로 이동한다.
- 관계 정보를 직접 입력하는 것을 사용자가 부담스러워하지 않을지 검증 필요.
- 좋아하는 것/조심할 것이 "따뜻한 기록" vs "관리 대상"으로 느껴지는지 검증 필요.
- (결론) 좋아하는 것/조심할 것의 입력 형태는 여러 항목 목록(다건 리스트)으로 확정. 근거: (mock-person)에서 여러 항목으로 표시됨.
- (결론) 만난 횟수는 ‘만남’ 카테고리 기록의 고유 날짜 수로 확정(같은 날 여러 기록은 1회). → §6