본문으로 건너뛰기

라우트 맵

Next.js App Router 기반이며 apps/web/src/app 디렉토리 구조가 곧 URL 구조입니다.

라우트 그룹

그룹경로설명
(main)/home, /saju, /mypage, ...메인 레이아웃 (네비게이션 포함)
(auth)/login인증 레이아웃 (네비게이션 없음)

페이지 목록

URL파일설명
/app/page.tsx루트 → /home 리다이렉트
/homeapp/(main)/home/page.tsx메인 홈
/loginapp/(auth)/login/page.tsx카카오 로그인
/sajuapp/(main)/saju/page.tsx사주 입력
/saju/resultapp/(main)/saju/result/page.tsx사주 결과 조회
/compatibilityapp/(main)/compatibility/page.tsx궁합 결과 · 결제
/locationapp/(main)/location/page.tsx위치 추천 · 지도
/communityapp/(main)/community/page.tsx커뮤니티 관심신청
/foodapp/(main)/food/page.tsx음식 추천
/taroapp/(main)/taro/page.tsx타로 (준비 중)
/contact/formapp/(main)/contact/form/page.tsx로그인 사용자 문의 작성
/mypageapp/(main)/mypage/(with-sidebar)/page.tsx마이페이지 메인
/mypage/accountapp/(main)/mypage/(with-sidebar)/account/page.tsx계정 설정
/mypage/saju-manageapp/(main)/mypage/(with-sidebar)/saju-manage/page.tsx내 사주 관리
/mypage/jeongtongsajuapp/(main)/mypage/(with-sidebar)/jeongtongsaju/page.tsx정통사주
/mypage/zodiac-compatibilityapp/(main)/mypage/(with-sidebar)/zodiac-compatibility/page.tsx띠별 궁합
/mypage/traditional-fortuneapp/(main)/mypage/(fullscreen)/traditional-fortune/page.tsx정통사주 전체화면
/mypage/year-fortuneapp/(main)/mypage/(fullscreen)/year-fortune/page.tsx신년운세 전체화면
/auth/restoreapp/auth/restore/page.tsx탈퇴 복구 안내

정적 콘텐츠 페이지 (MDX)

런타임 데이터 의존성이 없는 정보성 페이지입니다. 빌드 시 정적 HTML로 생성되어 Cloudflare Assets로 서빙됩니다.

URL콘텐츠 파일설명
/privacy-policyprivacy-policy/content.mdx개인정보처리방침
/terms-of-serviceterms-of-service/content.mdx서비스 이용약관
/contactcontact/content.mdx문의하기
/faqfaq/page.mdx자주 묻는 질문

/contact는 정적 안내 페이지이며, CTA를 통해 로그인 기반 문의 작성 페이지인 /contact/form으로 이동합니다.

콘텐츠 수정은 각 content.mdx 파일만 변경하면 됩니다. 자세한 내용은 정적 콘텐츠 페이지 가이드를 참고하세요.

보호 서비스 진입 정책

사주 기본정보가 필요한 서비스는 로그인 여부와 사주 프로필 보유 여부에 따라 진입을 분기합니다.

서비스직접 진입 경로사주 기본정보 없음
정통사주 풀이/mypage/traditional-fortune/saju?next=/mypage/traditional-fortune&forceInput=1
궁합/compatibility/saju?next=/compatibility&forceInput=1
오늘의 메뉴/food/saju?next=/food&forceInput=1
커뮤니티/community/saju?next=/community&forceInput=1
위치 추천/location/saju?next=/location&forceInput=1
문의 작성/contact/form사주 기본정보 요구 없음
  • 비로그인 사용자는 먼저 /login?next=원래 서비스로 이동합니다.
  • 로그인 후에도 사주 기본정보가 없으면 /saju 입력으로 진입을 통일합니다.
  • /saju 완료 후에는 next 기준으로 원래 서비스에 복귀합니다.

마이페이지 중첩 레이아웃

마이페이지는 2개의 중첩 레이아웃 그룹으로 분리합니다.

mypage/
├── layout.tsx ← 인증 체크
├── (with-sidebar)/
│ ├── layout.tsx ← 사이드바 포함
│ ├── page.tsx ← /mypage
│ ├── account/
│ ├── saju-manage/
│ ├── jeongtongsaju/
│ └── zodiac-compatibility/
└── (fullscreen)/
├── traditional-fortune/ ← 전체화면 풀이
└── year-fortune/ ← 전체화면 풀이