Page → code map
Status: Reference · Generated by node scripts/generate-page-code-map.mjs and held by yarn docs:check. Never hand-edit.
One row per page of the flat v2 boards (page-levels.json), joined by route to the app's route inventory (page-inventory.json) and to the page links (page-links.json; drawn as the navigation map). A page's App today says what serves its route now: a screen (with its blueprint's design state), a redirect, or new when no route exists. The migration (docs/design/flat-v2-ia-and-flows-2026-10-09.md; the UI migration readiness note) rebuilds each screen from its board frame, one page per row; the routes no page claims are listed after the table for retirement or mapping.
Counts. 89 pages: 82 served by a screen today, 1 new, 0 redirects, 6 outside the app. 103 app routes, 16 claimed by no page, 1 claimed by two pages (a pane or sheet drawn as its own page).
Pages
| Page | Level · family | Design (board#frame) | Route | App today | Opened by | Opens |
|---|---|---|---|---|---|---|
| L0-01 시작 | L0 entry | flat-v2-auth#si-ideal | no app route (outside the app, or a web card) | L0-04 (band), L0-04 (door), L2-03 (band), L4-04 (band), L4-07 (door), L4-08 (door), L4-13 (band), L4-15 (door) | L0-02 (band), L0-03 (band), L0-04 (band), L1-01 (band), L3-44 (band), L3-45 (band) | |
| L0-02 이메일 로그인 | L0 entry | flat-v2-auth#em-ready | no app route (outside the app, or a web card) | L0-01 (band) | L1-01 (band) | |
| L0-03 이메일 가입 | L0 entry | flat-v2-auth#iv-start | no app route (outside the app, or a web card) | L0-01 (band) | L0-04 (link), L1-01 (link) | |
| L0-04 온보딩 | L0 entry | flat-v2-auth#vi-intro | no app route (outside the app, or a web card) | L0-01 (band), L0-03 (link) | L0-01 (band), L0-01 (door), L1-01 (header), L1-02 (door), L1-03 (door), L3-43 (band), L3-44 (door), L3-45 (door), L4-02 (door) | |
| L0-05 업데이트가 필요해요 | L0 entry | flat-v2-auth#up-ideal | no app route (outside the app, or a web card) | (entry) | (leaf) | |
| L0-06 공유 링크 | L0 entry | flat-v2-auth#rc-s | /s/[sessionId] | SessionSharePreviewScreen (packages/features/sessions/src/share-receivers/session-share-preview-screen.tsx, blueprint unreviewed) | link (link) | L1-01 (door), L1-03 (door), L2-01 (link), L2-02 (link), L2-03 (band), L2-04 (door), L2-06 (link) |
| L0-07 웹 공유 페이지 | L0 entry | flat-v2-auth#wb-s | no app route (outside the app, or a web card) | link (link) | (leaf) | |
| L1-01 홈 | L1 | flat-v2-hub#home-ideal | /(tabs)/(home) | HomeFeedScreen (packages/features/home/src/home-feed-screen.tsx, blueprint unreviewed) | L0-01 (band), L0-02 (band), L0-03 (link), L0-04 (header), L0-06 (door), L1-02 (tab), L1-03 (tab), L1-03c (tab), L1-04 (tab), L1-05 (tab), L2-07 (door) | L1-02 (door), L1-02 (tab), L1-03 (door), L1-03 (tab), L1-04 (tab), L1-05 (tab), L2-01 (door), L2-02 (row), L2-02 (door), L2-03 (row), L3-11 (door), L3-13 (header), L3-14 (header), L3-23 (row), L3-25 (door), L3-27 (door), L3-38 (door), L3-41 (row), L4-01 (fab), L4-04 (door) |
| L1-02 클럽 | L1 | flat-v2-list-a#club-ideal | /(tabs)/(clubs) | ClubListScreen (packages/features/clubs/src/club-list-screen.tsx, blueprint unreviewed) | L0-04 (door), L1-01 (door), L1-01 (tab), L1-03 (tab), L1-03c (tab), L1-04 (tab), L1-05 (tab), L3-10 (door), L3-17 (door), L4-20 (door) | L1-01 (tab), L1-03 (tab), L1-04 (tab), L1-05 (tab), L2-01 (row), L4-02 (fab), L4-04 (fab), L4-20 (row) |
| L1-03 경기 | L1 | flat-v2-list-a#gm-ideal | /(tabs)/(sessions) | ActivityScreen (packages/features/activity/src/activity-screen.tsx, blueprint unreviewed) | L0-04 (door), L0-06 (door), L1-01 (door), L1-01 (tab), L1-02 (tab), L1-03c (tab), L1-04 (door), L1-04 (tab), L1-05 (tab), L2-02 (door), L2-03 (door), L3-01 (door), L3-38 (door) | L1-01 (tab), L1-02 (tab), L1-04 (tab), L1-05 (tab), L2-02 (row), L2-03 (row), L2-04 (row), L4-01 (fab) |
| L1-03c 경기 · 테니스장 | L1 | flat-v2-list-b#vn-ideal | /(tabs)/(sessions) | ActivityScreen (packages/features/activity/src/activity-screen.tsx, blueprint unreviewed) | (entry) | L1-01 (tab), L1-02 (tab), L1-03 (tab), L1-04 (tab), L1-05 (tab), L2-04 (row), L4-07 (door) |
| L1-04 기록 | L1 | flat-v2-hub#rec-ideal | /(tabs)/(records) | RecordsScreen (packages/features/records/src/records-screen.tsx, blueprint unreviewed) | L1-01 (tab), L1-02 (tab), L1-03 (tab), L1-03c (tab), L1-05 (tab) | L1-01 (tab), L1-02 (tab), L1-03 (door), L1-03 (tab), L1-05 (tab), L2-02 (row), L2-06 (row), L3-05 (row), L3-06 (door), L3-17 (door), L3-04 (door) |
| L1-05 프로필 | L1 | flat-v2-hub#prof-ideal | /(tabs)/(profile) | ProfileScreen (packages/features/profile/src/profile-screen.tsx, blueprint unreviewed) | L1-01 (tab), L1-02 (tab), L1-03 (tab), L1-03c (tab), L1-04 (tab) | L3-08 (door), L1-01 (tab), L1-02 (tab), L1-03 (tab), L1-04 (tab), L2-06 (row), L3-01 (door), L3-09 (row), L3-09 (door), L3-18 (door), L3-19 (door), L4-15 (header) |
| L2-01 클럽 홈 | L2 | flat-v2-hub#club-ideal | /clubs/[clubId] | ClubDetailScreen (packages/features/clubs/src/club-detail-screen.tsx, blueprint unreviewed); absorbs L3-12 | L0-06 (link), L1-01 (door), L1-02 (row), L2-02 (row), L2-03 (row), L2-04 (row), L2-06 (row), L2-07 (row), L3-10 (row), L3-13 (row), L3-41 (door), L4-02 (band), L4-04 (band), push (push) | L2-02 (row), L2-03 (row), L2-04 (row), L2-06 (row), L2-06 (menu), L3-03 (menu), L3-06 (menu), L3-06 (door), L3-07 (menu), L3-10 (menu), L3-11 (menu), L3-11 (door), L3-16 (door), L3-23 (row), L3-24 (door), L3-25 (menu), L3-25 (door), L3-27 (menu), L3-28 (menu), L3-29 (menu), L3-41 (row), L3-42 (row), L4-01 (fab), L4-01 (door), L4-03 (fab), L2-07 (row), L4-04 (band), L4-05 (fab), L4-14 (door), L4-20 (menu), L3-51 (door) |
| L2-02 일정 상세 | L2 | flat-v2-detail#sd-ideal | /sessions/[sessionId] | SessionDetailScreen (packages/features/sessions/src/session-detail-screen.tsx, blueprint unreviewed) | L0-06 (link), L1-01 (row), L1-01 (door), L1-03 (row), L1-04 (row), L2-01 (row), L2-04 (row), L3-01 (menu), L3-13 (row), L3-16 (row), L3-23 (door), L3-27 (row), L4-01 (band), L3-51 (row), link (link), L3-04 (row), L3-05 (row), L3-06 (row) | L1-03 (door), L2-01 (row), L2-04 (band), L2-06 (row), L3-35 (band), L3-35 (menu), L3-35 (door), L3-36 (menu), L3-37 (menu), L3-37 (door), L3-38 (door), L3-38 (band), L3-39 (band), L3-47 (band), L3-47 (menu), L3-39 (door), L4-06 (menu) |
| L2-03 매치 미리보기 | L2 | flat-v2-detail#pv-ideal | /sessions/[sessionId]/preview | PublicPickupPreviewScreen (packages/features/sessions/src/public-pickup-preview-screen.tsx, blueprint unreviewed) | L0-06 (band), L1-01 (row), L1-03 (row), L2-01 (row), L2-04 (row), link (link) | L0-01 (band), L1-03 (door), L2-01 (row), L2-04 (band), L2-06 (row) |
| L2-04 장소 상세 | L2 | flat-v2-detail#vc-ideal | /venues/[id] | VenueDetailScreen (packages/features/sessions/src/venue-page/venue-detail-screen.tsx, blueprint unreviewed); absorbs L2-05 | L0-06 (door), L1-03 (row), L1-03c (row), L2-01 (row), L2-02 (band), L2-03 (band), L3-29 (row), L3-33 (row), L3-34 (row), L4-07 (row), L4-08 (row) | L2-01 (row), L2-02 (row), L2-03 (row), L4-01 (band), L4-07 (menu), L4-08 (menu), L3-30 (door), L4-07 (door), L3-38 (row) |
| L2-06 공개 프로필 | L2 | flat-v2-detail#pp-ideal | /profile/[userId] | PublicProfileScreen (packages/features/profile/src/public-profile-screen.tsx, blueprint unreviewed) | L0-06 (link), L1-04 (row), L1-05 (row), L2-01 (row), L2-01 (menu), L2-02 (row), L2-03 (row), L2-07 (row), L3-06 (row), L3-13 (row), L3-15 (row), L3-17 (row), L3-18 (row), L3-19 (row), L3-20 (row), L3-24 (menu), L3-25 (menu), L3-25 (row), L3-28 (menu), L3-32 (row), L3-35 (menu), L3-35 (row), L3-36 (menu), L3-37 (row), L3-38 (row), L3-41 (row), L3-42 (menu), L3-42 (header), link (link) | L2-01 (row), L3-42 (band), L3-42 (menu), L3-06 (door), L3-01 (door), L3-04 (door), L3-38 (row) |
| L2-07 행사 | L2 | flat-v2-detail#ev-ideal | /clubs/[clubId]/events/[eventId] | ClubEventScreen (packages/features/clubs/src/club-event/club-event-screen.tsx, blueprint unreviewed) | L2-01 (row), L4-03 (band), push (push) | L2-01 (row), L2-06 (row), L1-01 (door) |
| L3-01 신뢰 기록 | L3 summary | flat-v2-detail#tr-ideal | /profile/trust | TrustRecordScreen (packages/features/profile/src/trust-record-screen.tsx, blueprint unreviewed); absorbs L3-02 | L1-05 (door), L3-07 (row), L3-11 (menu), L3-13 (row), L3-25 (menu), push (push), L2-06 (door) | L1-03 (door), L2-02 (menu), L3-43 (door), L3-11 (door) |
| L3-03 성장 분석 | L3 summary | flat-v2-detail#ga-ideal | /clubs/[clubId]/analytics | ClubAnalyticsScreen (packages/features/clubs/src/club-analytics-screen.tsx, blueprint unreviewed) | L2-01 (menu), L4-20 (door) | L3-50 (door), L3-25 (door), L4-20 (door) |
| L3-04 기간 기록 | L3 summary | flat-v2-detail#rp-week | /records/[period] | RecordDetailScreen (packages/features/records/src/record-detail-screen.tsx, blueprint unreviewed) | L3-05 (door), L1-04 (door), L2-06 (door) | L3-05 (row), L3-06 (door), L2-02 (row) |
| L3-05 하루 기록 | L3 summary | flat-v2-detail#dy-ideal | /records/day | RecordDayDetailScreen (packages/features/records/src/record-detail-screen.tsx, blueprint unreviewed) | L1-04 (row), L3-04 (row) | L3-04 (door), L2-02 (row) |
| L3-06 선수별 전적 | L3 summary | flat-v2-detail#rv-ideal | /records/analysis/rivals | HeadToHeadScreen (packages/features/records/src/head-to-head-screen.tsx, blueprint unreviewed) | L1-04 (door), L2-01 (menu), L2-01 (door), L2-06 (door), L3-04 (door) | L2-06 (row), L2-02 (row) |
| L3-07 출석 현황 | L3 summary | flat-v2-list-a#at-ideal | /clubs/[clubId]/attendance | ClubAttendanceScreen (packages/features/clubs/src/club-attendance-screen.tsx, blueprint unreviewed) | L2-01 (menu), L3-25 (menu) | L3-01 (row), L3-25 (door) |
| L3-08 테니스 여정 | L3 list | flat-v2-list-b#jy-ideal | /profile/journey | JourneyScreen (packages/features/profile/src/journey/journey-screen.tsx, blueprint unreviewed) | L1-05 (door) | L3-38 (row) |
| L3-09 업적 | L3 summary | flat-v2-list-b#ac-ideal | /profile/achievements | AchievementsGalleryScreen (packages/features/profile/src/achievements-gallery-screen.tsx, blueprint unreviewed) | L1-05 (row), L1-05 (door) | (leaf) |
| L3-10 클럽 대항전 | L3 summary | flat-v2-list-a#ch-ideal | /clubs/[clubId]/challenges | ClubChallengesScreen (packages/features/clubs/src/club-challenges-screen.tsx, blueprint unreviewed) | L2-01 (menu), L4-23 (band) | L4-23 (header), L1-02 (door), L2-01 (row) |
| L4-23 대항전 신청 | L4 form | flat-v2-list-a#ch-form-empty | /clubs/[clubId]/challenges/new | ClubChallengeNewScreen (packages/features/clubs/src/club-challenges/club-challenge-new-screen.tsx, blueprint unreviewed) | L3-10 (header) | L3-10 (band) |
| L3-11 회비 관리 | L3 summary | flat-v2-list-a#du-ideal | /clubs/[clubId]/dues | ClubDuesScreen (packages/features/clubs/src/club-dues-screen.tsx, blueprint unreviewed) | L1-01 (door), L2-01 (menu), L2-01 (door), L3-01 (door) | L3-01 (menu), L4-01 (door), L4-14 (menu), L4-14 (door), L3-46 (row) |
| L3-13 알림 | L3 list | flat-v2-list-a#nt-ideal | /home/notifications | NotificationCenterScreen (packages/features/home/src/notification-center-screen.tsx, blueprint unreviewed) | L1-01 (header) | L2-01 (row), L2-02 (row), L3-33 (row), L2-06 (row), L3-01 (row), L3-25 (row), L3-28 (row), L3-35 (row), L3-39 (row), L3-41 (row), L4-18 (header) |
| L3-14 메시지 | L3 list | flat-v2-list-a#ms-ideal | /messages | DmInboxScreen (packages/features/messaging/src/dm-inbox-screen.tsx, blueprint unreviewed) | L1-01 (header), L3-42 (door) | L3-15 (door), L3-42 (row), L4-09 (fab) |
| L3-15 메시지 요청 | L3 list | flat-v2-list-a#ms-requests | /messages/requests | DmRequestsScreen (packages/features/messaging/src/dm-requests-screen.tsx, blueprint unreviewed) | L3-14 (door) | L2-06 (row) |
| L3-16 참가비 내역 | L3 list | flat-v2-list-a#sf-ideal | /profile/fees | MyFeesScreen (packages/features/profile/src/my-fees/my-fees-screen.tsx, blueprint unreviewed) | L2-01 (door) | L2-02 (row) |
| L3-17 순위표 | L3 list | flat-v2-list-b#lb-ideal | /records/leaderboard | RecordsLeaderboardScreen (packages/features/records/src/records-leaderboard-screen.tsx, blueprint unreviewed) | L1-04 (door) | L1-02 (door), L2-06 (row), L3-19 (door), L4-11 (door) |
| L3-18 친구 목록 | L3 list | flat-v2-list-b#fr-ideal | /profile/friends | FriendsScreen (packages/features/profile/src/friends-screen.tsx, blueprint unreviewed) | L1-05 (door) | L2-06 (row), L3-19 (fab) |
| L3-19 친구 찾기 | L3 list | flat-v2-list-b#af-ideal | /profile/friends/add | AddFriendScreen (packages/features/profile/src/add-friend-screen.tsx, blueprint unreviewed) | L1-05 (door), L3-17 (door), L3-18 (fab), L4-09 (door), L4-10 (door) | L2-06 (row) |
| L3-20 차단한 사용자 | L3 list | flat-v2-list-b#bk-ideal | /settings/blocked | SettingsBlockedUsersScreen (packages/features/profile/src/settings-blocked-users-screen.tsx, blueprint unreviewed) | L4-15 (door) | L2-06 (row) |
| L3-21 동의 이력 | L3 list | flat-v2-list-b#cs-ideal | /settings/consent/history | ConsentHistoryScreen (packages/features/profile/src/consent-history-screen.tsx, blueprint unreviewed) | L4-19 (door) | (leaf) |
| L3-22 공지사항 | L3 list | flat-v2-detail#an-ideal | /legal/notices | AnnouncementsScreen (packages/features/profile/src/announcements-screen.tsx, blueprint unreviewed) | L4-15 (door) | (leaf) |
| L3-23 앨범 | L3 list | flat-v2-list-a#al-ideal | /clubs/[clubId]/album | ClubAlbumScreen (packages/features/clubs/src/club-album-screen.tsx, blueprint unreviewed) | L1-01 (row), L2-01 (row), L3-50 (door), L3-51 (row) | L2-02 (door), L3-41 (door) |
| L3-24 복식 파트너 추천 | L3 list | flat-v2-list-a#pt-ideal | /clubs/[clubId]/partners | PartnerSuggesterScreen (packages/features/clubs/src/partner-suggester-screen.tsx, blueprint unreviewed) | L2-01 (door) | L2-06 (menu) |
| L3-25 멤버 관리 | L3 list | flat-v2-list-a#mb-roster | /clubs/[clubId]/members | ClubMembersScreen (packages/features/clubs/src/club-members-screen.tsx, blueprint unreviewed); absorbs L3-26 | L1-01 (door), L2-01 (menu), L2-01 (door), L3-03 (door), L3-07 (door), L3-13 (row), L3-32 (door) | L2-06 (menu), L2-06 (row), L3-01 (menu), L3-07 (menu), L4-09 (menu), L3-32 (row) |
| L3-27 일정 관리 | L3 list | flat-v2-list-a#cs-ideal | /clubs/[clubId]/sessions | ClubSessionsScreen (packages/features/clubs/src/club-sessions-screen.tsx, blueprint unreviewed) | L1-01 (door), L2-01 (menu) | L2-02 (row), L4-01 (fab) |
| L3-28 신고 관리 | L3 list | flat-v2-list-a#rp-ideal | /clubs/[clubId]/reports | ClubReportsScreen (packages/features/clubs/src/club-reports-screen.tsx, blueprint unreviewed) | L2-01 (menu), L3-13 (row) | L2-06 (menu) |
| L3-29 테니스장 관리 | L3 list | flat-v2-list-a#vn-ideal | /clubs/[clubId]/venues | ClubVenuesScreen (packages/features/clubs/src/club-venues-screen.tsx, blueprint unreviewed) | L2-01 (menu), L4-20 (door) | L2-04 (row), L4-07 (fab) |
| L3-30 장소 정보 제안 내역 | L3 list | flat-v2-list-b#cn-ideal | /venue-contributions | VenueContributionsScreen (packages/features/sessions/src/venue-contributions/list-screen.tsx, blueprint unreviewed) | L4-15 (door), L2-04 (door) | L3-31 (door), L3-33 (row), L4-07 (fab) |
| L3-31 소유권 신청 내역 | L3 list | flat-v2-list-b#oc-ideal | /venue-owner-claims | VenueOwnerClaimsScreen (packages/features/sessions/src/venue-owner-claims/list-screen.tsx, blueprint unreviewed) | L3-30 (door) | L3-34 (row), L4-08 (fab) |
| L3-32 가입 심사 | L3 task | flat-v2-detail#jr-ideal | /clubs/[clubId]/join-review/[userId] | JoinReviewDetail (apps/mobile/app/clubs/[clubId]/join-review/[userId].tsx, blueprint unreviewed) | L3-25 (row) | L2-06 (row), L3-25 (door) |
| L3-33 제안 상세 | L3 task | flat-v2-detail#rc-ideal | /venue-contributions/[id] | VenueContributionDetailScreen (packages/features/sessions/src/venue-contributions/detail-screen.tsx, blueprint unreviewed) | L3-13 (row), L3-30 (row), L4-07 (band), L4-07 (door), push (push) | L2-04 (row), L4-07 (band) |
| L3-34 장소 소유권 | L3 task | flat-v2-detail#ow-ideal | /venue-owner-claims/[id] | VenueOwnerClaimDetailScreen (packages/features/sessions/src/venue-owner-claims/detail-screen.tsx, blueprint unreviewed) | L3-31 (row), L4-08 (band), L4-08 (door) | L2-04 (row), L4-08 (band) |
| L3-35 참석자 관리 | L3 task | flat-v2-list-a#pa-ideal | /sessions/[sessionId]/participants | ParticipantsScreen (packages/features/sessions/src/participants-screen.tsx, blueprint unreviewed) | L2-02 (band), L2-02 (menu), L2-02 (door), L3-13 (row), L3-36 (switcher), L3-39 (door), L3-47 (door) | L2-06 (menu), L2-06 (row), L3-36 (switcher) |
| L3-36 참석 확인 | L3 task | flat-v2-list-a#ac-ideal | /sessions/[sessionId]/attendance | SessionAttendanceScreen (packages/features/sessions/src/session-attendance-screen.tsx, blueprint unreviewed) | L2-02 (menu), L3-35 (switcher) | L2-06 (menu), L3-35 (switcher) |
| L3-37 호스트 관리 | L3 task | flat-v2-list-a#ho-ideal | /sessions/[sessionId]/host | PickupHostDashboardScreen (packages/features/sessions/src/pickup-host-dashboard-screen.tsx, blueprint unreviewed) | L2-02 (menu), L2-02 (door), L4-01 (band) | L2-06 (row) |
| L3-38 스코어카드 | L3 live | flat-v2-detail#sc-ideal | /sessions/[sessionId]/scorecard | SpectatorScorecardScreen (packages/features/sessions/src/spectator-scorecard-screen.tsx, blueprint unreviewed); absorbs L3-40 | L1-01 (door), L2-02 (door), L2-02 (band), push (push), L2-04 (row), L2-06 (row), L3-08 (row) | L1-03 (door), L2-06 (row) |
| L3-39 스코어카드 운영 | L3 live | flat-v2-detail#mb-ideal | /match-board | OperatorScorecardScreen (packages/features/sessions/src/operator-scorecard-screen.tsx, blueprint unreviewed) | L2-02 (band), L2-02 (door), L3-13 (row), L3-47 (band) | L3-35 (door), L4-06 (menu), L3-47 (band), L3-47 (menu) |
| L3-41 게시글 | L3 reading | flat-v2-detail#po-ideal | /clubs/[clubId]/board/[postId] | PostDetailScreen (packages/features/clubs/src/post-detail-screen.tsx, blueprint unreviewed) | L1-01 (row), L2-01 (row), L3-13 (row), L3-23 (door), L4-05 (band), push (push) | L2-01 (door), L2-06 (row) |
| L3-42 DM 스레드 | L3 reading | flat-v2-detail#dm-ideal | /messages/[threadId] | DmThreadScreen (packages/features/messaging/src/dm-thread-screen.tsx, blueprint unreviewed) | L2-01 (row), L2-06 (band), L2-06 (menu), L3-14 (row), L4-09 (band), L4-10 (band) | L2-06 (menu), L4-10 (menu), L2-06 (header), L3-14 (door) |
| L3-43 문의하기 | L3 reading | flat-v2-detail#ct-ideal | /legal/contact | ContactScreen (packages/features/profile/src/contact-screen.tsx, blueprint unreviewed) | L0-04 (band), L3-01 (door), L4-15 (door) | (leaf) |
| L3-44 이용약관 | L3 reading | flat-v2-detail#tm-ideal | /legal/terms | TermsScreen (packages/features/profile/src/terms-screen.tsx, blueprint unreviewed) | L0-01 (band), L0-04 (door), L4-15 (door), L4-19 (door) | (leaf) |
| L3-45 개인정보 처리방침 | L3 reading | flat-v2-detail#pr-ideal | /legal/privacy | PrivacyScreen (packages/features/profile/src/privacy-screen.tsx, blueprint unreviewed) | L0-01 (band), L0-04 (door), L4-15 (door), L4-19 (door) | (leaf) |
| L4-01 일정 만들기 | L4 wizard | flat-v2-forms#cs-ideal | /create-session | CreateSessionScreen (packages/features/sessions/src/create-session-screen.tsx, blueprint unreviewed) | L1-01 (fab), L1-03 (fab), L2-01 (fab), L2-01 (door), L2-04 (band), L3-11 (door), L3-27 (fab) | L2-02 (band), L3-37 (band), L4-06 (door), L4-07 (door), L4-21 (door) |
| L4-02 클럽 만들기 | L4 wizard | flat-v2-forms#cc-ideal | /create-club | CreateClubScreen (packages/features/clubs/src/create-club-screen.tsx, blueprint unreviewed) | L0-04 (door), L1-02 (fab) | L2-01 (band), L4-20 (band) |
| L4-03 행사 만들기 | L4 wizard | flat-v2-forms#ev-ideal | /clubs/[clubId]/events/new | EventCreateScreen (packages/features/clubs/src/event-create/event-create-screen.tsx, blueprint unreviewed) | L2-01 (fab) | L2-07 (band) |
| L4-04 초대 코드로 가입 | L4 form | flat-v2-forms#jc-ideal | /join-club | JoinClubScreen (packages/features/clubs/src/join-club-screen.tsx, blueprint unreviewed) | L1-01 (door), L1-02 (fab), L2-01 (band), link (link) | L0-01 (band), L2-01 (band) |
| L4-05 글쓰기 | L4 form | flat-v2-forms#wp-ideal | /clubs/[clubId]/board/create | PostCreateScreen (packages/features/clubs/src/post-create-screen.tsx, blueprint unreviewed) | L2-01 (fab) | L3-41 (band) |
| L4-06 경기 규칙 | L4 form | flat-v2-forms#mr-ideal | /sessions/[sessionId]/match-rules | MatchRulesScreen (packages/features/sessions/src/match-rules-screen.tsx, blueprint unreviewed) | L2-02 (menu), L3-39 (menu), L3-47 (door), L4-01 (door) | (leaf) |
| L4-07 장소 정보 제안 | L4 form | flat-v2-forms#vc-ideal | /venue-contributions/new | NewVenueContributionScreen (packages/features/sessions/src/venue-contributions/new-screen.tsx, blueprint unreviewed) | L1-03c (door), L2-04 (menu), L3-29 (fab), L3-30 (fab), L3-33 (band), L4-01 (door), L2-04 (door) | L0-01 (door), L2-04 (row), L3-33 (band), L3-33 (door) |
| L4-08 소유권 신청 | L4 form | flat-v2-forms#oc-ideal | /venue-owner-claims/new | NewVenueOwnerClaimScreen (packages/features/sessions/src/venue-owner-claims/new-screen.tsx, blueprint unreviewed) | L2-04 (menu), L3-31 (fab), L3-34 (band) | L0-01 (door), L2-04 (row), L3-34 (band), L3-34 (door) |
| L4-09 단톡방 만들기 | L4 form | flat-v2-forms#ng-ideal | /messages/new-group | DmCreateGroupScreen (packages/features/messaging/src/dm-create-group-screen.tsx, blueprint unreviewed) | L3-14 (fab), L3-25 (menu) | L3-19 (door), L3-42 (band) |
| L4-10 멤버 초대 | L4 form | flat-v2-forms#am-ideal | /messages/add-members | DmAddMembersScreen (packages/features/messaging/src/dm-add-members-screen.tsx, blueprint unreviewed) | L3-42 (menu) | L3-19 (door), L3-42 (band) |
| L4-11 프로필 수정 | L4 form | flat-v2-forms#ep-ideal | /settings/edit-profile | EditProfileScreen (packages/features/profile/src/edit-profile-screen.tsx, blueprint unreviewed) | L3-17 (door), L4-15 (door) | L4-15 (band) |
| L4-12 비밀번호 변경 | L4 form | flat-v2-forms#pw-ideal | /settings/change-password | ChangePasswordScreen (packages/features/profile/src/change-password-screen.tsx, blueprint unreviewed) | L4-15 (door) | L4-15 (band) |
| L4-13 회원 탈퇴 | L4 form | flat-v2-forms#da-ideal | /settings/delete-account | DeleteAccountScreen (packages/features/profile/src/delete-account-screen.tsx, blueprint unreviewed) | L4-15 (door) | L0-01 (band), L4-20 (door) |
| L4-14 회비 설정 | L4 form | flat-v2-list-a#du-plan | /clubs/[clubId]/dues/plan | ClubDuesPlanScreen (packages/features/clubs/src/club-dues-plan/club-dues-plan-screen.tsx, blueprint unreviewed) | L2-01 (door), L3-11 (menu), L3-11 (door), L4-20 (door) | (leaf) |
| L4-21 입금 계좌 | L4 form | flat-v2-forms#ks-bank | /clubs/[clubId]/settings/account | ClubSettingsAccountScreen (packages/features/clubs/src/club-settings-account/club-settings-account-screen.tsx, blueprint unreviewed) | L4-01 (door), L4-20 (door) | (leaf) |
| L4-15 설정 | L4 settings | flat-v2-forms#st-ideal | /settings | SettingsScreen (packages/features/profile/src/settings-screen.tsx, blueprint unreviewed) | L1-05 (header), L4-11 (band), L4-12 (band) | L0-01 (door), L3-20 (door), L3-22 (door), L3-43 (door), L3-44 (door), L3-45 (door), L4-11 (door), L4-12 (door), L4-13 (door), L4-16 (door), L4-17 (door), L4-18 (door), L4-19 (door), L3-30 (door) |
| L4-16 연결된 계정 | L4 settings | flat-v2-forms#ac-ideal | /settings/accounts | new: no route serves /settings/accounts yet; waits for provider sign-in (the owner, 2026-11-10); 설정 draws no door to it until then | L4-15 (door) | (leaf) |
| L4-17 공개 범위 설정 | L4 settings | flat-v2-forms#pv-ideal | /settings/privacy | SettingsPrivacyScreen (packages/features/profile/src/settings-privacy-screen.tsx, blueprint unreviewed) | L4-15 (door) | (leaf) |
| L4-18 알림 설정 | L4 settings | flat-v2-forms#sg-ideal | /settings/signal-preferences | SettingsSignalPreferencesScreen (packages/features/profile/src/settings-signal-preferences-screen.tsx, blueprint unreviewed) | L3-13 (header), L4-15 (door) | (leaf) |
| L4-19 동의 관리 | L4 settings | flat-v2-forms#cn-ideal | /settings/consent | SettingsConsentManagementScreen (packages/features/profile/src/settings-consent-management-screen.tsx, blueprint unreviewed) | L4-15 (door) | L3-21 (door), L3-44 (door), L3-45 (door) |
| L4-20 클럽 설정 | L4 settings | flat-v2-forms#ks-ideal | /clubs/[clubId]/settings | ClubSettingsScreen (packages/features/clubs/src/club-settings-screen.tsx, blueprint unreviewed) | L1-02 (row), L2-01 (menu), L3-03 (door), L4-02 (band), L4-13 (door) | L1-02 (door), L3-03 (door), L3-29 (door), L4-14 (door), L4-21 (door), L3-48 (door), L3-49 (door), L3-50 (door) |
| L3-46 장부 | L3 summary | flat-v2-list-a#lg-ideal | /clubs/[clubId]/dues/ledger | ClubLedgerScreen (packages/features/clubs/src/club-ledger/club-ledger-screen.tsx, blueprint unreviewed) | L3-11 (row) | (leaf) |
| L3-47 대진 짜기 | L3 form | flat-v2-detail#gen-ideal | /sessions/[sessionId]/draw | DrawScreen (packages/features/sessions/src/draw-screen.tsx, blueprint unreviewed) | L2-02 (band), L2-02 (menu), L3-39 (band), L3-39 (menu) | L3-39 (band), L3-35 (door), L4-06 (door) |
| L3-48 정기 일정 | L3 list | flat-v2-list-a#rm-ideal | /clubs/[clubId]/regular-meets | ClubRegularMeetsScreen (packages/features/clubs/src/club-regular-meets/club-regular-meets-screen.tsx, blueprint unreviewed) | L4-20 (door) | L4-22 (row), L4-22 (fab) |
| L4-22 정기 일정 수정 | L4 form | flat-v2-list-a#rme-edit | /clubs/[clubId]/regular-meets/[meetId] | ClubRegularMeetEditorScreen (packages/features/clubs/src/club-regular-meets/club-regular-meet-editor-screen.tsx, blueprint unreviewed) | L3-48 (row), L3-48 (fab) | L3-49 (door) |
| L3-49 조 | L3 list | flat-v2-list-a#gr-ideal | /clubs/[clubId]/groups | ClubGroupsScreen (packages/features/clubs/src/club-groups/club-groups-screen.tsx, blueprint unreviewed) | L4-20 (door), L4-22 (door) | (leaf) |
| L3-50 앨범 관리 | L3 list | flat-v2-list-a#am-ideal | /clubs/[clubId]/album/manage | ClubAlbumManageScreen (packages/features/clubs/src/club-album-manage/club-album-manage-screen.tsx, blueprint unreviewed) | L3-03 (door), L4-20 (door) | L3-23 (door) |
| L3-51 클럽 테니스 여정 | L3 list | flat-v2-list-b#jc-ideal | /clubs/[clubId]/journey | ClubJourneyScreen (packages/features/clubs/src/club-journey/club-journey-screen.tsx, blueprint unreviewed) | L2-01 (door) | L2-02 (row), L3-23 (row) |
Link kinds: tab, header, menu, row, door, band, fab, switcher, push, link (page-links.mjs). "(entry)" is a page nothing in the app opens but a tab, a push or a link; "(leaf)" a page that opens nothing (the links' leaves name each).
App routes no page claims
Routes in the app today that no page of the boards claims. Each is retired by the migration, or mapped to the page that absorbed it (the retired codes below say which).
| Route | Screen today | Blueprint |
|---|---|---|
/(tabs)/(clubs)/discover | redirect → /(tabs)/(clubs) | |
/activity | redirect → ? | |
/activity/pickups | redirect → /(tabs)/(sessions) | |
/clubs/[clubId]/admin | redirect → routes.club(...) | |
/clubs/[clubId]/preview | redirect → ? | |
/clubs/discover | redirect → /(tabs)/(clubs)/discover | |
/clubs | redirect → ? | |
/directory-venues/[id] | redirect → /home | |
/home | redirect → ? | |
/leaderboard | redirect → /records/leaderboard | |
/profile | redirect → ? | |
/ranking | redirect → /records | |
/records/history | redirect → /records | |
/records | redirect → ? | |
/sessions/[sessionId]/payments | redirect → /home | |
/tournament-board | TournamentBoardRedirectScreen (packages/features/sessions/src/tournament-board-redirect-screen.tsx) | unreviewed |
Routes two pages share
One screen serves both: the second page is a pane or a sheet of the first, drawn as its own page because it has its own frames and doors. The screen that serves the route owns both pages' states.
/(tabs)/(sessions): L1-03, L1-03c
Routes owed an owner ruling
Real screens no page claims yet, kept until the owner gives each a page code or retires it.
Retired page codes
- L3-12: 내 회비, folded into 클럽 홈's 회비 pane (L2-01): the owner, 2026-10-21
- L2-05: 장소 상세 · 디렉터리, folded into 장소 상세 (L2-04), one page for one place: the owner, 2026-10-28
- L3-02: 멤버 기록, folded into 신뢰 기록 (L3-01) as its officials' view: the owner, 2026-10-28
- L3-26: 가입 신청, folded into 멤버 관리 (L3-25), its applicants the list's first group: the owner, 2026-10-28
- L3-40: 토너먼트, folded into 스코어카드 (L3-38) and 대진표 (L3-39): one structure for a session and a tournament, its groups and bracket under 순위 (owner review 48, the lead’s call for veto, 2026-10-29)
Pages owed (doors drawn to pages no board holds yet)
- 로그인, from L0-07 via the /join-club band 로그인하기 for a signed-out visitor (/login, the code and returnTo kept); /join-club is not on web yet (W12, needs an anonymous rate-limited read)
- 클럽 홈, from L0-07 via the /join-club club row for a signed-out visitor (W12)