Skip to content

ADR-0006: 서비스 폴더 구조 v4 — 4-way (User / Marketing / Store / Admin)

⚠️ 본 ADR 은 ADR-0008 으로 대체되었습니다. 4-way 그루핑 사고는 유지되지만, sub-folder 구조 → flat .md sibling 컨벤션 으로 변경되었고, B2C / B2B 디자인 시스템 분기 가 함께 정식화되었습니다.

배경 (Context)

ADR-0005 가 Partners 를 별도 서비스로 분리(5-way)했지만, 다시 검토한 결과:

  1. Partners 와 메인 마케팅 사이트는 같은 마케팅 코드 자산 — 디자인 시스템·CMS·SEO·트래킹·헤더 푸터·계정 모델이 결국 공유됨
  2. 로그인 경계 = 폴더 경계 원칙은 여전히 유효 — 단, 그 경계는 Marketing(공개)Store-Portal(로그인 후) 사이에 있는 것이지, MarketingPartners 사이에 있는 게 아님
  3. 3개 도메인 (www / partners / store)이라도 그 중 wwwpartners하나의 코드베이스에서 두 도메인 라우팅으로 운영하는 게 자연스러움 (둘 다 로그인 없는 마케팅)

또한 마케팅 사이트 위치를 우선순위 2로 올리는 결정이 함께 이뤄졌다 — 사용자 인지·발견 흐름상 "앱 → 마케팅 사이트 → 사장님 도구 → 내부" 순서가 가장 자연스러움.

결정 (Decision)

4 최상위 구조로 회귀, Marketing 가 Partners 를 sub-페이지로 흡수.

최상위 4개

#코드명한국어폴더사용자
1User냠냠픽업 Appyumyum-10-user/고객 (User)
2Store사장님 운영 도구 (3채널)yumyum-20-store/사장님 (Merchant)
3Marketing마케팅 사이트yumyum-30-marketing/일반 / 잠재 고객 / 잠재 사장님
4Admin운영 어드민yumyum-40-admin/운영팀

Marketing 안의 4 sub-페이지

라벨폴더도메인 / 영역
Home00-homewww.yumyum.im 메인
Partners10-partnerspartners.yumyum.im (사장님 입점)
Company20-company회사 소개
Brand30-brand브랜드 자산

Store 의 3채널 (변동 없음 — ADR-0004/0005 그대로)

라벨폴더도메인 / 플랫폼
Store-Portalstore-10-portalstore.yumyum.im (Web)
Store-Appstore-20-appiOS / Android
Store-POSstore-30-posWindows

변동 사항 (vs ADR-0005)

  • Partners 단독 서비스 제거yumyum-40-partners/ 폴더 삭제, 콘텐츠는 yumyum-30-marketing/ 안 sub-페이지로 흡수
  • Admin 폴더 번호 변경yumyum-50-admin/yumyum-40-admin/
  • Marketing / Store 위치는 ADR-0004 와 동일 — User(1) → Store(2) → Marketing(3) → Admin(4)
    • 사용자(고객) 다음에 사장님 운영 도구 → 그 다음 공개 마케팅 → 마지막 내부
    • 핵심 가치(고객·사장님)가 앞, 마케팅은 뒷받침이라는 철학적 정렬

근거 (Rationale)

1. Marketing 와 Partners 는 코드 자산이 강하게 묶임

공유 자산MarketingPartners
디자인 시스템 / 컴포넌트
헤더 / 푸터 / 네비
CMS / 콘텐츠 모델
SEO / sitemap 정책
트래킹 / 분석
로그인 모델(로그인 없음)(로그인 없음)

도메인만 다르고 본질은 같은 마케팅 사이트. 한 우산에 두는 게 자연스러움.

2. 도메인 분리 ≠ 코드 분리

  • 쿠팡이츠도 coupangeats.compartners.coupangeats.com 가 별도 도메인이지만, 코드/디자인 측면에서 같은 조직의 같은 마케팅 자산일 가능성 높음
  • 도메인은 SEO·브랜드 인지 측면에서 분리하되, 코드 폴더는 묶는 게 DRY
  • VitePress / Next.js / Nuxt 등 현대 프레임워크 모두 한 codebase에서 다중 도메인 라우팅을 지원

3. 우선순위 — User → Store → Marketing → Admin

서비스의 핵심 가치 주체 기준으로 정렬:

  1. User App — 핵심 가치 (실 서비스 이용, B2C)
  2. Store — 사장님 운영 도구 (B2B 핵심)
  3. Marketing — 마케팅·랜딩 (위 두 가치를 노출하는 매개)
  4. Admin — 내부 운영

Marketing 가 Store 뒤로 가는 이유: 마케팅은 핵심 제품(User · Store)을 뒷받침하는 자산. 두 핵심 제품이 정의되어야 마케팅 메시지·랜딩 페이지가 의미를 가짐. 코드 / 디자인 / 문서 단위 우선순위는 핵심 제품 → 마케팅 → 내부 순서가 자연스러움.

4. 고려한 대안

대안 A: ADR-0005 유지 (Partners 별도 5-way) (기각)

  • 기각: 코드 자산 중복. Marketing 와 Partners 가 분리될 만큼 본질이 다르지 않음.

대안 B: Marketing 위치를 3 으로 (Store 가 2) (기각)

  • 기각: 사장님 운영 도구는 입점 사장님만 사용. 일반 사용자 / 잠재 사장님이 먼저 보는 건 Marketing.

대안 C: Partners 를 Store 안으로 (ADR-0004 식) (기각)

  • 기각: Partners (입점 마케팅, 로그인 전) 와 Store (운영 도구, 로그인 후) 는 사용자 맥락이 완전히 다름. Marketing 흡수가 자연스러움.

결과 (Consequences)

긍정

  • Marketing 가 마케팅 자산 단일 우산 — 디자인·CMS·SEO 일관성 ↑
  • 로그인 경계가 폴더 경계와 일치Marketing(로그인 X) | Store(로그인 O)
  • 도메인 다중 라우팅 가능www.yumyum.impartners.yumyum.im 가 한 코드베이스
  • 사용자 발견 흐름과 정렬 일치 — User → Marketing → Store → Admin

주의 / 후속 필요

  • partners.yumyum.im 도메인 처리www.yumyum.im 과 같은 코드베이스에서 도메인 별 라우팅 구현 (별도 기술 ADR 또는 가이드)
  • 글로서리 갱신 — Partners 항목에 "도메인 (partners.yumyum.im) = Marketing 안 Partners sub-페이지" 명시
  • ADR 변천 정리 — 같은 날 ADR-0003 → 0004 → 0005 → 0006 까지 4번 바뀜. README 또는 90-decisions/ 인덱스에 결정 흐름 요약 추가 검토
  • Phase 0/1/2 결정 — 별도 ADR 또는 로드맵

후속 작업

  • [x] /20-product/ 폴더 재편 (User / Marketing / Store / Admin 4-way + 위치 변경)
  • [x] yumyum-40-partners/ 삭제, 콘텐츠 yumyum-20-www/ 로 흡수
  • [x] /20-product/index.md 카탈로그 갱신 (4 최상위 + Marketing 4 sub + Store 3채널)
  • [x] 글로서리 §1-1 갱신 (4 최상위 + Marketing sub 표 + Store 3채널)
  • [x] ADR-0005 ⚠️ Superseded 표시
  • [x] 사이드바 config 갱신
  • [ ] partners.yumyum.im 도메인 라우팅 기술 ADR
  • [ ] Phase 0/1/2 정식 결정 ADR

냠냠픽업 — 지속가능한 중개수수료 2% 음식 픽업 서비스