2026.04.08 - [CH6 fivefy 프로젝트/설계] - 데이터 흐름 중심으로 설계한 음악 서비스 아키텍처 (도메인·ERD·API)
데이터 흐름 중심으로 설계한 음악 서비스 아키텍처 (도메인·ERD·API)
도메인 설계 및 데이터 흐름 (Miro)프로젝트 초기 단계에서 도메인 구조와 데이터 흐름을 시각적으로 정리하기 위해 Miro를 활용했다.Aggregate, 이벤트 흐름, 사용자 행동 기반 시나리오 등을 함께
sudaruuu.tistory.com
문제 상황
트랙 재생 상태를 START, PAUSE, COMPLETE, STOP으로 관리하고 있었다.
하지만 실제 재생 흐름에서는
사용자가 다음 곡으로 이동하는 “건너뛰기” 상황이 존재했으며,
이를 기존 상태로 명확하게 표현하기 어려웠다.
고민한 이유
- STOP으로 처리할 경우 단순 종료와 구분이 어려움
- 사용자 행동(중단 vs 건너뛰기)을 구분할 수 없음
- 재생 로그 기반 분석 및 차트 집계 시 의미 왜곡 가능
해결 방향
재생 상태에 SKIP 값을 추가하여
건너뛰기 행동을 명확하게 구분하도록 설계했다.
START, PAUSE, COMPLETE, STOP → START, PAUSE, COMPLETE, STOP, SKIP
선택한 이유
1. 사용자 행동 명확
중단(STOP)과 건너뛰기(SKIP)를 구분 가능
2. 데이터 해석 정확도 향상
실제 재생 패턴 분석이 가능해짐
3. 집계 기준 명확화
차트 및 통계 처리 시 정책 설정 용이
정리
재생 상태에 SKIP을 추가하여 사용자의 재생 흐름을 더 정확하게 표현하도록 개선했다.
느낀 점
작은 상태값 하나라도 데이터 해석과 서비스 기능에 큰 영향을 줄 수 있다는 것을 느꼈다.
앞으로는 사용자 행동을 더 명확하게 표현할 수 있는 방향으로 도메인 모델을 설계하려고 한다.
'Fivefy 프로젝트 > 트러블슈팅' 카테고리의 다른 글
| 스케줄러 기반 로직 테스트 설계와 운영 환경 고려 (0) | 2026.04.16 |
|---|---|
| 커버리지 100% 대신 의미 있는 테스트를 선택한 이유 (1) | 2026.04.15 |
| 동시 요청에서 발생할 수 있는 중복 데이터 문제와 DB 유니크 제약으로 해결 (2) | 2026.04.14 |
| 컬럼명 문제로 인한 DDL 오류 및 테이블 생성 실패 해결 (0) | 2026.04.13 |
| 서비스와 엔티티의 검증 책임 분리 (1) | 2026.04.10 |