ADR-DS-030_관심상점 및 관심업종

ADR-DS-030_관심상점 및 관심업종

## 1. 기본 정보

  • ADR ID: ADR-DS-030
  • 제목: 관심상점 및 관심업종 도메인 모델
  • 상태: Proposed
  • 작성일: 2026-03-06
  • 작성자: Sunyoul Yoon
  • 관련 ADR: ADR-DS-020 (슬롯 사용 확정 전략)

2. 배경 (Context)

본 플랫폼의 핵심 기능은 현재 위치 기반으로 즉시 사용 가능한 타임슬롯을 발견하는 것이다. 사용자는 앱을 열어 근처에서 사용할 수 있는 슬롯을 확인하고 즉시 사용한다.

그러나 사용자가 앱을 열지 않는 상황에서는 슬롯 발견이 어렵다. 이를 보완하기 위해 사용자가 특정 상점 또는 업종을 구독하고 관련 슬롯이 발생했을 때 알림을 받을 수 있는 기능이 필요하다.

이 기능은 플랫폼의 핵심 탐색 구조를 대체하는 것이 아니라 리텐션을 보조하는 장치로 사용된다.

따라서 관심상점과 관심업종은 다음 목적을 가진다.

  • 사용자가 선호하는 상점 또는 업종을 구독할 수 있도록 한다.
  • 해당 조건에 맞는 슬롯이 발생했을 때 알림 시스템과 연동할 수 있도록 한다.

본 ADR에서는 관심상점 및 관심업종의 도메인 모델 구조를 정의한다.


3. 결정 (Decision)

관심상점 및 관심업종 기능은 다음 도메인 모델로 구현한다.

관심상점

사용자는 특정 상점을 관심상점으로 등록할 수 있다.

도메인 모델:

user_favorite_store

필드:

  • user_id
  • store_id
  • created_at

규칙:

  1. 동일 사용자와 상점 조합은 하나만 존재한다.
  2. 관심상점 등록은 상점 알림 시스템과 연동될 수 있다.
  3. 관심상점 등록은 슬롯 노출 로직에는 직접적인 영향을 주지 않는다.

관심업종

사용자는 특정 업종을 관심업종으로 등록할 수 있다.

도메인 모델:

user_interest_category

필드:

  • user_id
  • category_id
  • created_at

규칙:

  1. 동일 사용자와 업종 조합은 하나만 존재한다.
  2. 관심업종 등록은 업종 기반 알림 시스템과 연동될 수 있다.
  3. 관심업종 등록은 슬롯 노출 로직에는 직접적인 영향을 주지 않는다.

도메인 역할

관심상점과 관심업종은 다음 역할을 가진다.

  • 알림 시스템의 구독 정보로 사용된다.
  • 사용자 선호 데이터를 저장한다.

이 데이터는 핵심 슬롯 탐색 로직의 필수 조건으로 사용되지 않는다.


4. 대안 (Alternatives Considered)

대안 A — 관심상점만 제공

설명 사용자가 특정 상점만 구독할 수 있도록 한다.

장점

  • 구조 단순
  • 데이터 모델 단순

단점

  • 사용자가 새로운 상점을 발견하기 어렵다.
  • 특정 상점 의존도가 높아진다.

채택하지 않은 이유 사용자는 특정 상점보다 업종 중심으로 행동하는 경우가 많기 때문이다.


대안 B — 관심업종만 제공

설명 사용자가 업종만 구독할 수 있도록 한다.

장점

  • 넓은 범위의 슬롯 알림 가능
  • 신규 상점 발견 가능

단점

  • 특정 상점을 반복 이용하는 사용자 요구를 충족하지 못한다.

채택하지 않은 이유 특정 상점에 대한 반복 방문 패턴을 반영하기 어렵기 때문이다.


대안 C — 개인화 추천 시스템 사용

설명 사용자 행동 데이터를 기반으로 자동 추천을 수행한다.

장점

  • 개인화 가능
  • 자동 추천 가능

단점

  • 알고리즘 복잡도 증가
  • 초기 데이터 부족 문제

채택하지 않은 이유 본 플랫폼의 초기 설계 원칙은 단순한 조건 기반 매칭이기 때문이다.


5. 결과 (Consequences)

긍정적 결과

  • 사용자 선호 데이터를 단순한 구조로 저장할 수 있다.
  • 알림 시스템과 자연스럽게 연동할 수 있다.
  • 슬롯 탐색 로직과 분리된 보조 기능으로 유지된다.

부정적 결과

  • 관심상점과 관심업종이 많아질 경우 알림 관리 정책이 필요하다.
  • 사용자 구독 데이터 증가로 알림 트래픽이 증가할 수 있다.

6. 영향 범위 (Impact)

기술 구조

  • 관심상점 및 관심업종 테이블 추가
  • 알림 시스템과 데이터 연동

UX

  • 사용자 설정에서 관심상점 및 관심업종 관리 필요

운영 정책

  • 알림 빈도 제한 정책 필요

확장성

  • 향후 개인화 추천 시스템 도입 시 사용자 선호 데이터로 활용 가능

7. 재검토 조건 (Revisit Conditions)

다음 조건 중 하나가 발생하면 본 결정을 재검토한다.

  • 관심상점 및 관심업종 알림 사용률이 낮은 경우
  • 알림 트래픽이 운영 비용에 영향을 미치는 경우
  • 개인화 추천 시스템 도입이 필요한 경우
  • DAU 증가로 인해 사용자 선호 데이터 활용 요구가 증가하는 경우


Template v2 Addendum

In Scope

  • Favorite store/category domain model and trigger criteria

Out of Scope

  • Push transport implementation and recommendation ranking

Boundaries

  • Domain model ownership is DS-030. Channel operation belongs to UX/Product policy.

Source of Truth (SoT)

  • Favorites domain: ADR-DS-030.

Validation

  • Detect state/constraint violations via tests and batch checks.
  • Recovery and reprocessing must be idempotent.

Revisit Conditions

  • KPI threshold breach (reservation failure, expiry ratio, payment confirmation failure)
  • External dependency change (PG, regulation, location API)