본문으로 건너뛰기

Relaxation 도메인 이벤트 스토밍

개요

본 문서는 Relaxation 도메인의 이벤트 스토밍 워크샵 결과를 정리한 것입니다. 도메인 전문가, 개발자, 그리고 이해관계자들이 참여하여 도출된 도메인 이벤트, 명령, 액터, 정책 등을 포함합니다.

도메인 이벤트

도메인에서 발생하는 중요한 변화나 사실을 나타내는 이벤트들입니다.

1. 이완요법 콘텐츠 이벤트

1.1 백엔드 이벤트

이벤트설명트리거
RelaxationContentListRequested이완요법 콘텐츠 목록 조회됨콘텐츠 목록 조회 요청
ContentMetadataRetrieved콘텐츠 메타데이터가 조회됨콘텐츠 정보 요청
ContentDownloadStarted콘텐츠 다운로드가 시작됨콘텐츠 실행 요청
ContentDownloadProgressUpdated다운로드 진행률이 업데이트됨다운로드 진행 중
ContentDownloadCompleted콘텐츠 다운로드가 완료됨다운로드 완료
ContentDownloadResumed콘텐츠 다운로드가 재개됨다운로드 재개 요청
ContentPlaybackRecorded콘텐츠 재생이 기록됨콘텐츠 재생 시작
ContentCompleted콘텐츠가 완료됨[다 들었어요] 버튼 탭
ContentPlaybackStateSaved재생 상태가 저장됨재생 상태 변경
DailyRecommendationGenerated일일 추천 콘텐츠가 생성됨매일 추천 생성
RecommendationPeriodExpired추천 기간이 종료됨가입 후 6일차 도달
ContentAccessValidated콘텐츠 접근 권한이 검증됨콘텐츠 접근 요청
ContentDetailInfoProvided콘텐츠 상세 정보가 제공됨콘텐츠 선택
GuideAccessed사용 가이드가 조회됨가이드 열람 요청
GuideVersionUpdated가이드 버전이 업데이트됨가이드 업데이트
PlaybackHistoryRecorded재생 이력이 기록됨콘텐츠 재생 기록
ContentCategoryRetrieved콘텐츠 카테고리가 조회됨카테고리 목록 요청
RepeatModeChanged반복 재생 설정이 변경됨반복 설정 변경
ContentListVersionChecked콘텐츠 목록 버전이 확인됨클라이언트 캐시 검증
ContentListCached콘텐츠 목록이 캐싱됨로컬 캐시 저장
ContentListCacheUpdated캐시된 콘텐츠 목록이 업데이트됨증분 업데이트
VersionMismatchDetected버전 불일치가 감지됨클라이언트-서버 버전 차이
CacheValidationFailed캐시 검증이 실패함캐시 무결성 오류

1.2 프론트엔드 이벤트

이벤트설명트리거
CategoryExpanded카테고리가 확장됨드롭다운 화살표 탭
CategoryCollapsed카테고리가 축소됨드롭다운 화살표 탭
ContentCardTapped콘텐츠 카드가 탭됨콘텐츠 카드 선택
BottomSheetDisplayed콘텐츠 확인 바텀 시트가 표시됨콘텐츠 카드 탭
BottomSheetConfirmed바텀 시트에서 확인됨[Bestätigen] 버튼 탭
BottomSheetCancelled바텀 시트가 취소됨[Abbrechen] 버튼 탭
ContentExecutionStarted콘텐츠 실행이 시작됨바텀 시트 확인
DownloadProgressDisplayed다운로드 진행률이 표시됨다운로드 시작
AutoPlaybackStarted자동 재생이 시작됨다운로드 완료
ProgressBarInitializedProgress bar가 0초로 초기화됨재생 시작
PlaybackPaused재생이 일시정지됨[일시 멈춤] 버튼 탭
PlaybackResumed재생이 재개됨[플레이] 버튼 탭
RepeatModeToggled반복 모드가 토글됨[반복] 버튼 탭
ContentCompletionMarked콘텐츠 완료가 표시됨[다 들었어요] 버튼 탭
NavigationBackTriggered뒤로가기가 실행됨[뒤로가기] 버튼 탭
ContentExitTriggered콘텐츠 종료가 시도됨[X] 버튼 탭
ExitConfirmationPopupDisplayed중단 확인 팝업이 표시됨[X] 버튼 탭
ContentExitConfirmed콘텐츠 종료가 확인됨[Beenden] 버튼 탭
ContentExitCancelled콘텐츠 종료가 취소됨[Abbrechen] 버튼 탭
ProgressBarUpdatedProgress bar가 업데이트됨재생 진행 중
BackgroundVideoDisplayed배경 영상이 표시됨콘텐츠 재생 시작
BackgroundAudioPlayed배경 오디오가 재생됨콘텐츠 재생 시작
RecommendationDisplayed추천 콘텐츠가 표시됨Home 화면 진입
RecommendationSectionHidden추천 섹션이 숨겨짐6일차 이후
ContentDetailViewOpened콘텐츠 상세 정보가 열림콘텐츠 선택
GuideOpened사용 가이드가 열림가이드 버튼 탭
LocalContentCached콘텐츠가 로컬에 캐싱됨다운로드 완료
CachedContentLoaded캐싱된 콘텐츠가 로드됨재실행 시
UIConsistencyMaintainedUI 일관성이 유지됨화면 전환 시
FeedbackProvided사용자 피드백이 제공됨액션 수행 시
ContentListVersionValidated콘텐츠 목록 버전이 검증됨앱 시작 시
CacheUpdatedFromServer서버로부터 캐시가 업데이트됨버전 불일치 시
IncrementalUpdateApplied증분 업데이트가 적용됨부분 업데이트 시
CacheIntegrityRestored캐시 무결성이 복구됨캐시 오류 수정
OfflineModeActivated오프라인 모드가 활성화됨네트워크 연결 끊김

정책(Policies)

시스템의 자동화된 비즈니스 규칙입니다.

콘텐츠 관리 정책

백엔드 정책

  • 이완요법 콘텐츠는 5가지 카테고리로 분류하여 관리
  • 각 카테고리는 제목과 요약 설명(Summary) 포함
  • 각 콘텐츠의 메타데이터(제목, 설명, 재생 시간, 카테고리) 관리
  • 콘텐츠별 배경 이미지와 오디오 파일 관리
  • 사용자의 콘텐츠 재생 이력 추적 및 관리
  • 콘텐츠 완료 상태 저장 및 관리
  • 미완료 콘텐츠와 완료 콘텐츠 구분하여 관리
  • 콘텐츠 다운로드를 위한 안정적인 스트리밍 서비스 제공
  • 부분 다운로드 및 재개 기능 지원
  • 콘텐츠 접근 권한 검증
  • 각 이완요법 콘텐츠의 상세 정보 관리
  • 시행 이유, 효과, 작동 방식 등의 사전 정보 제공
  • 이완요법 사용 방법에 대한 기본 가이드 제공
  • 가이드 내용 버전 관리 및 업데이트

프론트엔드 정책

  • 카테고리별로 콘텐츠를 카드 형식으로 표시
  • 각 카테고리 우측에 드롭다운 화살표 표시하여 확장/축소 기능 제공
  • 열린 상태에서 요약 설명과 콘텐츠 카드 표시, 닫힌 상태에서는 카테고리 제목만 표시
  • 사용자가 콘텐츠 카드를 탭했을 때 콘텐츠 확인 바텀 시트 표시
  • 바텀 시트에 선택된 콘텐츠의 배경 이미지 표시
  • [Bestätigen] 버튼 선택 시 콘텐츠 실행 화면으로 이동
  • [Abbrechen] 버튼 선택 시 시트를 닫고 원래 화면으로 복귀
  • 콘텐츠 종류에 따라 배경 영상과 오디오를 다르게 표시
  • 화면의 전반적인 구조와 UI를 모든 이완요법 콘텐츠에 대해 일관되게 유지
  • 최초 콘텐츠 실행 시 자동으로 다운로드 진행
  • 다운로드 진행 상태를 시각적으로 표시
  • 다운로드 완료 후 자동으로 콘텐츠 재생
  • 콘텐츠 재생 시 진행률 바(Progress bar) 표시
  • 다운로드된 콘텐츠를 로컬에 캐싱하여 재사용
  • 실제 미디어 파일은 모바일 앱에서 로컬 관리

재생 제어 정책

백엔드 정책

  • 재생 상태(재생 중, 일시정지, 중단) 관리
  • 반복 재생 설정 저장 및 관리
  • [다 들었어요] 버튼 탭 시에만 이완요법 완료로 처리
  • 콘텐츠 완료 상태는 서버에 저장되어 기기 변경 시에도 유지

프론트엔드 정책

  • [일시 멈춤] 버튼 제공하여 콘텐츠 재생 중지
  • 일시 멈춤 상태에서 [플레이] 버튼으로 아이콘 전환
  • [플레이] 버튼을 통해 정지 상태에서 재생 재개
  • [반복] 버튼 제공하여 반복 재생 기능 활성화/비활성화
  • [다 들었어요] 버튼 제공하여 콘텐츠 완료 처리
  • 우측 상단에 [X] 버튼 제공하여 콘텐츠 중단
  • [뒤로가기] 버튼 제공하여 이전 화면으로 이동
  • 버튼 탭 시 콘텐츠 중단 확인 팝업 표시
  • [Beenden] 선택 시 메인화면으로 이동, 진행 상황 저장 안 됨
  • [Abbrechen] 선택 시 팝업 닫고 기존 재생 상태 유지
  • Progress bar 실시간 업데이트
  • 재생 위치를 시각적으로 명확하게 표시

추천 콘텐츠 정책

백엔드 정책

  • 가입 후 5일 동안 매일 하나의 추천 콘텐츠 제공
  • 추천 콘텐츠 순서:
    • 1일차: Bauchatmung (복식호흡)
    • 2일차: Sitzmeditation (앉아서 명상)
    • 3일차: PMR Hände und Arme (손과 팔 점진적 이완)
    • 4일차: Dein Strand (나만의 해변)
    • 5일차: Die Zitronenübung (레몬 연습)
  • 6일차 이후부터는 추천 콘텐츠 제공하지 않음
  • 사용자의 가입일을 기준으로 추천 일차 계산

프론트엔드 정책

  • Home 화면에서 오늘의 추천 이완요법 표시
  • 가입 후 5일간만 추천 콘텐츠 표시
  • 6일차 이후부터는 추천 섹션 표시하지 않음
  • 추천 콘텐츠는 선택적으로 이용 가능

사용자 경험 정책

백엔드 정책

  • 콘텐츠 목록 조회에 대해 500ms 이내 응답
  • 안정적인 스트리밍 성능 제공
  • 오디오 재생에 대해 버퍼링 없는 실시간 재생 지원
  • 배경 영상 재생에 대해 3초 이내 초기 로딩
  • 재생 상태 저장에 대해 200ms 이내 응답

프론트엔드 정책

  • 모든 콘텐츠는 다운로드 완료 후 자동으로 재생
  • 사용자의 추가 조작을 최소화하여 몰입도 향상
  • 콘텐츠 실행 중단 시 반드시 확인 팝업 표시
  • 다운로드 진행 상태를 시각적으로 표시
  • 재생 상태 변경 시 즉시 UI에 반영
  • 사용자 액션에 대한 명확한 피드백 제공
  • 배경 영상은 부드럽고 차분한 움직임으로 제한
  • 오디오 콘텐츠는 고품질 음원으로 제공

보안 및 접근 제어 정책

백엔드 정책

  • 콘텐츠 접근 권한 엄격히 관리
  • 인증된 사용자만 콘텐츠 접근 가능
  • 콘텐츠 다운로드 URL에 만료 시간 설정
  • 사용자별 재생 이력 안전하게 보호
  • 콘텐츠 불법 복제 방지 조치 적용
  • 모든 API 요청에 대해 사용자 인증 검증
  • 사용자 간 데이터 접근 제한 엄격히 관리
  • 모든 액세스에 대한 로그 기록

프론트엔드 정책

  • 다운로드된 콘텐츠는 앱 내에서만 재생 가능
  • 콘텐츠 파일에 대한 직접 접근 차단

버전 관리 및 캐싱 정책

백엔드 정책

  • 콘텐츠 목록의 모든 변경사항을 버전으로 추적 관리
  • 콘텐츠 추가, 수정, 삭제 시 자동으로 새 버전 생성
  • 메타데이터 변경 시 해당 콘텐츠의 버전 업데이트
  • 클라이언트 버전과 서버 버전 비교하여 응답 최적화
  • 동일한 버전인 경우 304 Not Modified 응답으로 대역폭 절약
  • 증분 업데이트를 통한 효율적 데이터 전송
  • 버전 확인 API 별도 제공하여 빠른 검증 지원
  • 콘텐츠 목록 해시값을 통한 무결성 검증

프론트엔드 정책

  • 콘텐츠 목록을 로컬에 캐싱하여 오프라인 접근 지원
  • 앱 시작 시 서버와 버전 정보 확인하여 캐시 유효성 검증
  • 구버전 감지 시 자동으로 최신 콘텐츠 목록 다운로드
  • 증분 업데이트를 통한 효율적 콘텐츠 정보 업데이트
  • 캐시 만료 시간 설정하여 주기적 서버 동기화
  • 저장 공간 부족 시 오래된 캐시 데이터 우선 삭제
  • 캐시 손상 시 자동으로 전체 목록 재다운로드
  • 네트워크 연결 끊김 시 캐시된 데이터로 오프라인 모드 지원

명령(Commands)

도메인 이벤트를 발생시키는 사용자 의도나 시스템 동작입니다.

1. 이완요법 콘텐츠 명령

1.1 백엔드 명령

명령설명영향
GetContentList콘텐츠 목록 조회RelaxationContentListRequested 이벤트 발생
GetContentMetadata콘텐츠 메타데이터 조회ContentMetadataRetrieved 이벤트 발생
StartContentDownload콘텐츠 다운로드 시작ContentDownloadStarted 이벤트 발생
UpdateDownloadProgress다운로드 진행률 업데이트ContentDownloadProgressUpdated 이벤트 발생
CompleteContentDownload콘텐츠 다운로드 완료ContentDownloadCompleted 이벤트 발생
ResumeContentDownload콘텐츠 다운로드 재개ContentDownloadResumed 이벤트 발생
RecordContentPlayback콘텐츠 재생 기록ContentPlaybackRecorded 이벤트 발생
MarkContentAsCompleted콘텐츠 완료 처리ContentCompleted 이벤트 발생
SavePlaybackState재생 상태 저장ContentPlaybackStateSaved 이벤트 발생
GenerateDailyRecommendation일일 추천 생성DailyRecommendationGenerated 이벤트 발생
CheckRecommendationPeriod추천 기간 확인필요시 RecommendationPeriodExpired 이벤트 발생
ValidateContentAccess콘텐츠 접근 권한 검증ContentAccessValidated 이벤트 발생
ProvideContentDetail콘텐츠 상세 정보 제공ContentDetailInfoProvided 이벤트 발생
AccessGuide가이드 접근GuideAccessed 이벤트 발생
UpdateGuideVersion가이드 버전 업데이트GuideVersionUpdated 이벤트 발생
RecordPlaybackHistory재생 이력 기록PlaybackHistoryRecorded 이벤트 발생
GetContentCategories콘텐츠 카테고리 조회ContentCategoryRetrieved 이벤트 발생
ChangeRepeatMode반복 모드 변경RepeatModeChanged 이벤트 발생
CheckContentListVersion콘텐츠 목록 버전 확인ContentListVersionChecked 이벤트 발생
CacheContentList콘텐츠 목록 캐싱ContentListCached 이벤트 발생
UpdateContentListCache콘텐츠 목록 캐시 업데이트ContentListCacheUpdated 이벤트 발생
ValidateCacheIntegrity캐시 무결성 검증필요시 CacheValidationFailed 이벤트 발생
CreateNewVersion새 버전 생성새 ContentListVersion 생성

1.2 프론트엔드 명령

명령설명영향
ToggleCategory카테고리 확장/축소 토글CategoryExpanded 또는 CategoryCollapsed 이벤트 발생
TapContentCard콘텐츠 카드 탭ContentCardTapped 이벤트 발생
DisplayBottomSheet바텀 시트 표시BottomSheetDisplayed 이벤트 발생
ConfirmBottomSheet바텀 시트 확인BottomSheetConfirmed 이벤트 발생
CancelBottomSheet바텀 시트 취소BottomSheetCancelled 이벤트 발생
StartContentExecution콘텐츠 실행 시작ContentExecutionStarted 이벤트 발생
DisplayDownloadProgress다운로드 진행률 표시DownloadProgressDisplayed 이벤트 발생
StartAutoPlayback자동 재생 시작AutoPlaybackStarted 이벤트 발생
InitializeProgressBarProgress bar 초기화ProgressBarInitialized 이벤트 발생
PausePlayback재생 일시정지PlaybackPaused 이벤트 발생
ResumePlayback재생 재개PlaybackResumed 이벤트 발생
ToggleRepeatMode반복 모드 토글RepeatModeToggled 이벤트 발생
MarkContentComplete콘텐츠 완료 표시ContentCompletionMarked 이벤트 발생
NavigateBack뒤로가기 실행NavigationBackTriggered 이벤트 발생
TriggerContentExit콘텐츠 종료 시도ContentExitTriggered 이벤트 발생
DisplayExitConfirmationPopup종료 확인 팝업 표시ExitConfirmationPopupDisplayed 이벤트 발생
ConfirmContentExit콘텐츠 종료 확인ContentExitConfirmed 이벤트 발생
CancelContentExit콘텐츠 종료 취소ContentExitCancelled 이벤트 발생
UpdateProgressBarProgress bar 업데이트ProgressBarUpdated 이벤트 발생
DisplayBackgroundVideo배경 영상 표시BackgroundVideoDisplayed 이벤트 발생
PlayBackgroundAudio배경 오디오 재생BackgroundAudioPlayed 이벤트 발생
DisplayRecommendation추천 콘텐츠 표시RecommendationDisplayed 이벤트 발생
HideRecommendationSection추천 섹션 숨기기RecommendationSectionHidden 이벤트 발생
OpenContentDetail콘텐츠 상세 정보 열기ContentDetailViewOpened 이벤트 발생
OpenGuide가이드 열기GuideOpened 이벤트 발생
CacheLocalContent콘텐츠 로컬 캐싱LocalContentCached 이벤트 발생
LoadCachedContent캐싱된 콘텐츠 로드CachedContentLoaded 이벤트 발생
MaintainUIConsistencyUI 일관성 유지UIConsistencyMaintained 이벤트 발생
ProvideFeedback피드백 제공FeedbackProvided 이벤트 발생
FetchContentList콘텐츠 목록 가져오기서버 API 호출
SendCompletionStatus완료 상태 전송서버 API 호출
FetchContentDetail콘텐츠 상세 정보 가져오기서버 API 호출
FetchRecommendation추천 콘텐츠 가져오기서버 API 호출
ValidateContentListVersion콘텐츠 목록 버전 검증ContentListVersionValidated 이벤트 발생
UpdateCacheFromServer서버로부터 캐시 업데이트CacheUpdatedFromServer 이벤트 발생
ApplyIncrementalUpdate증분 업데이트 적용IncrementalUpdateApplied 이벤트 발생
RestoreCacheIntegrity캐시 무결성 복구CacheIntegrityRestored 이벤트 발생
ActivateOfflineMode오프라인 모드 활성화OfflineModeActivated 이벤트 발생
CheckCacheVersion캐시 버전 확인로컬 캐시 검증
ClearExpiredCache만료된 캐시 삭제캐시 정리
OptimizeCache캐시 최적화캐시 성능 향상

액터(Actors)

시스템과 상호작용하는 주체들입니다.

사용자

  • 이완요법 콘텐츠를 선택하고 재생하는 주체
  • 카테고리를 확장/축소하여 콘텐츠 탐색
  • 재생 컨트롤(일시정지, 재개, 반복)을 조작
  • 콘텐츠 완료 처리
  • 추천 콘텐츠 이용

시스템

  • 콘텐츠 메타데이터 및 카테고리 관리
  • 다운로드 및 스트리밍 서비스 제공
  • 재생 이력 및 완료 상태 관리
  • 일일 추천 콘텐츠 생성
  • 접근 권한 검증 및 보안 관리
  • 콘텐츠 목록 버전 관리 및 동기화
  • 증분 업데이트 데이터 생성
  • 캐시 무결성 검증 지원

애그리게잇(Aggregates)

도메인 객체들의 클러스터로, 트랜잭션 일관성 경계를 형성합니다.

이완요법 콘텐츠

  • 콘텐츠 ID
  • 제목
  • 설명
  • 재생 시간
  • 카테고리
  • 배경 이미지 참조
  • 오디오 파일 참조
  • 콘텐츠 순서

카테고리

  • 카테고리 ID
  • 카테고리명
  • 요약 설명(Summary)
  • 포함된 콘텐츠 목록
  • 표시 순서

재생 이력

  • 이력 ID
  • 사용자 ID
  • 콘텐츠 ID
  • 재생 시작 시간
  • 재생 종료 시간
  • 완료 여부
  • 재생 위치

추천 설정

  • 사용자 ID
  • 가입일
  • 현재 추천 일차
  • 추천 콘텐츠 ID
  • 추천 기간 만료 여부

사용자 설정

  • 사용자 ID
  • 반복 재생 설정
  • 선호 카테고리
  • 마지막 재생 콘텐츠

콘텐츠 상세 정보

  • 콘텐츠 ID
  • 시행 이유
  • 기대 효과
  • 작동 방식
  • 주의사항
  • 버전

사용 가이드

  • 가이드 ID
  • 가이드 내용
  • 버전
  • 마지막 업데이트 일시

다운로드 상태

  • 사용자 ID
  • 콘텐츠 ID
  • 다운로드 진행률
  • 다운로드 상태
  • 캐시 위치

콘텐츠 목록 버전

  • 버전 ID
  • 버전 번호
  • 해시값
  • 활성 상태
  • 생성/수정 시간

버전 변경 이력

  • 변경 ID
  • 버전 ID
  • 콘텐츠 ID
  • 변경 유형 (추가/수정/삭제)
  • 변경 설명
  • 변경 시간

변경 이력

버전날짜작성자변경 내용
0.1.02025-06-10bok@weltcorp.com최초 작성
0.1.12025-06-10bok@weltcorp.com콘텐츠 목록 클라이언트 캐싱을 위한 버전 관리 이벤트, 명령, 정책 추가