권장 환경 : 데스크탑 + 다크모드


Users

(ID)

User Archive Post
1 1 ~ 10 1 ~ 10
2 11 ~ 20 11 ~ 20
3 21 ~ 30 21 ~ 30
4 31 ~ 40 31 ~ 40
5 41 ~ 50 41 ~ 50
6 51 ~ 60 51 ~ 60
7 61 ~ 70 61 ~ 70
8 71 ~ 80 71 ~ 80
9 81 ~ 90 81 ~ 90
10 91 ~ 100 91 ~ 100

(ID)

User Friend
1 3, 5, 7, 9
2 4, 6, 8, 10
3 1, 4
4 2, 3
5 1
6 2
7 1
8 2
9 1
10 2

Archives

Public : Restricted : Private = 6 : 3 : 1
(Ex. ids : [1, 100] → Public : [1, 60] & Restricted : [61, 90] & Private : [91, 100])

⚠️ Diary 자체의 Visibility도 존재 → Archive의 Visibility와 일관성 유지

Case 1. Public Archive (모두공개) → 타인 조회 시, Public Diary만 조회됨

Case 2. Restricted Archive (친구공개) → 친구 조회 시, Private Diary 빼고 모두 조회되어야 함

Case 3. Private Archive (비공개) → 조회되면 안됨 (본인 제외)

Issue : UI가 공개/비공개 로만 디자인되어있더라고요. 설계 상 Archive와 공개범위를 1:1로 가져가는게 깔끔하기도 하고, UI 제작 이전에 기획측 설명 듣고 제작한거라, UI와 API 요청 구조 간 혼동의 여지가 있습니다.

Sol : Diary를 작성하는건 어차피 Archive에 종속됩니다. 따라서 React에서 Archive의 공개범위를 상태값으로 물고와서, 공개 클릭 시 Public Archive이면 Public Diary로, Restricted Archive이면 Restricted Diary로 API 요청 보내면 됩니다.

Archive Diary Gallery Ticket Repost
1 1 ~ 100 1 ~ 100 1 ~ 100 1 ~ 100
2 NULL 101 ~ 200 101 ~ 200 101 ~ 200
3 101 ~ 200 NULL 201 ~ 300 201 ~ 300
4 201 ~ 300 201 ~ 300 NULL 301 ~ 400
5 301 ~ 400 301 ~ 400 301 ~ 400 NULL
6 NULL NULL 401 ~ 500 401 ~ 500
7 NULL 401 ~ 500 NULL 501 ~ 600
8 NULL 501 ~ 600 501 ~ 600 NULL
9 401 ~ 500 NULL NULL 601 ~ 700
10 501 ~ 600 NULL 601 ~ 700 NULL
11 601 ~ 700 601 ~ 700 NULL NULL
12 701 ~ 800 NULL NULL NULL
13 NULL 701 ~ 800 NULL NULL
14 NULL NULL 701 ~ 800 NULL
15 NULL NULL NULL 701 ~ 800
16 NULL NULL NULL NULL
17 NULL NULL NULL NULL
18 NULL NULL NULL NULL
NULL NULL NULL NULL
100 NULL NULL NULL NULL

🔥 샘플에서는 데이터 셋업 편의성을 위해, Repost ID와 Posts ID를 동기화 시킨다.

Posts

카테고리별 150개씩


IDOL ACTOR MUSICIAN SPORT ARTIST ANIMATION
1 ~ 150 151 ~ 300 301 ~ 450 451 ~ 600 601 ~ 750 751 ~ 900

View & Like

Archive


Archive View Like createdAt
1 10000 300 20250115
2 95000 275 20250115
3 90000 250 20250114
4 85000 225 20250114
5 80000 200 20250113
6 75000 175 20250113
7 70000 150 20250112
8 65000 125 20250112
9 60000 100 20250111
10 55000 75 20250111
11 50000 50 20250110
12 45000 25 20250110
13 40000 0 20250109
14 35000 25 20250109
15 30000 50 20250108
16 25000 75 20250108
17 20000 100 20250107
18 15000 125 20250107
19 10000 150 20250106
20 5000 175 20250106

나머지의 샘플은 조회수 & 좋아요 수는 0으로 고정한다.

HotScore