이 시안 (v7 · 나만 보기)
지원자가 춤·보컬 연습을 남기고, 월 달력에서 기록한 날을 본다. 올린 기록은 본인만 볼 수 있다. 공개·동의 기능은 이번 시안에 없다. 이전 버전(공개 범위·동의 화면 포함)은 git 태그 v6-with-guardian-and-agency에 있다. 모든 데이터는 가짜다.
왼쪽 목록이나 화면 안 버튼으로 넘어간다.
흐름
- 마이 → 이용 내역 "연습 기록" → 홈(달력·고른 날 기록 목록). 맨 위에 "나만 볼 수 있어요" 한 줄.
- 홈에서 날짜를 고르면 그 날이 7일 안일 때 버튼이 "10월 25일 기록 올리기"로 바뀐다.
- 올리기 → 종류(영상·유튜브 링크·사진·오디오·글) → 파일 고르기 또는 링크 붙여넣기 → 태그(춤·보컬)·연습한 날·메모 → 저장 → 완료. 정보 입력 맨 아래에 "나만 볼 수 있어요" 표시.
- 고른 날에 이미 3개가 있으면 "하루 3개" 안내가 뜬다.
- 기록 상세 → ⋯ 메뉴에서 수정·삭제.
- 오류: 500MB 초과, 업로드 실패(다시 올리기), 빈 상태.
진입점: 마이 화면 (로피 코드에서 확인)
마이 탭은 프로필 카드 → 내 오디션 영상(있을 때만) → 메뉴 순서다(lopi-app/screens/my-screen.tsx:20-57). 메뉴는 "이용 내역"과 "설정" 두 섹션이고 아이콘 없이 글과 오른쪽 화살표만 둔다(lopi-app/src/my/components/my-menu.tsx:73-130). "연습 기록"은 이용 내역 첫 줄에 넣었다.
업로드 제한
| 항목 | 값 | 출처·결정 |
|---|---|---|
| 영상 용량 | 500MB 초과 금지 (10진 MB) | lopi-app/src/profile/components/use-profile-video-upload-button.ts:38, 검사 :189·:259 |
| 영상 길이 | 제한 없음 (기존대로) | 민경문 결정 5 |
| 영상 처리 | 올리기 전 H.264, 긴 변 1920px | lopi-app/utils/video-upload-compression.ts:6-8 |
| 유튜브 링크 | 길이·용량 제한 없음. youtube.com/watch, youtu.be, shorts 주소만 받음 | 민경문 결정 2 |
| 하루 개수 | 최대 3개 (모든 종류 합산, 연습한 날 기준) | 민경문 결정 5 |
| 지난 날짜 | 오늘 포함 7일 전까지 | 민경문 결정 4 |
| 사진·오디오 용량 | 검사 없음 (확인 필요) | profile-upload-button.tsx:107-109, audition-apply-audio.tsx:123-124 |
레퍼런스
Mobbin(iOS) v7 검색어: private video diary app entries list. 이전 버전 검색어는 그대로 유효(달력·유튜브 링크·업로드 폼).
| 앱 · 화면 | 가져온 것 |
|---|---|
| Journal · All Entries | 내 기록 목록: 카드마다 제목·날짜·⋯ 메뉴. |
| Notion · 영상 보기 (Private) | 상세 헤더 제목 아래 "Private" 작은 표시. |
| Hypelist · Diary | 월 달력에서 기록한 날 표시. |
| Life Reset · Journey | 사진·영상 기록을 날짜별로 쌓는 모양. |
이전 버전 레퍼런스: Weverse·pliability·Tonal·BeReal(달력), Weverse·Digg·Blinkist(링크 입력).
스타일 출처 (lopi-app)
- brand
#BEF264(tailwind.config.js), 카드#161616rounded-xl, 주 버튼 50px 둥근 brand 바탕 검정 글씨(ui/animated-button.tsx:50). - 마이 화면: 제목 "Profile" Outfit 28/500, 섹션 제목 22px semibold·줄 15px·화살표 white/50(
my-menu.tsx:40-66).
데이터 모양 제안
PracticeLog
id,userId,practicedOn(DATE · 달력·하루 3개 기준),createdAtkind(VIDEO|YOUTUBE|PHOTO|AUDIO|TEXT)fields(DANCE|VOCAL),memostatus(UPLOADING|READY|FAILED),deletedAt- 조회는
userId가 본인일 때만. 제약:(userId, practicedOn)마다READY·UPLOADING3개까지 — 서버가 막는다.practicedOn≥ 오늘−7일(KST).
PracticeLogMedia
- 파일:
fileUrl(R2),mimeType,sizeBytes,durationMs,thumbnailUrl - 유튜브:
youtubeVideoId(11자), 원래 URL,title·thumbnailUrl(oEmbed로 받은 값, 표시용 캐시). 파일은 저장하지 않는다.
정해 주실 것 (남은 것만)
- 하루 3개의 기준일: 시안은 "연습한 날" 기준이다. "올린 날" 기준으로 할지.
- 탈퇴 시 기록: 회원 탈퇴하면 연습 기록 파일을 바로 지울지, 일정 기간 보관할지.
- 유튜브 비공개 영상: 재생 실패 안내를 앱 안에서 어떻게 보여 줄지(시안은 상세 화면 배너).