Learning 도메인 용어집
핵심 개념
| 용어 | 정의 | 관련 컨텍스트 | 동의어 |
|---|---|---|---|
| 수면탐구(Sleep Exploration) | 수면 관련 학습 콘텐츠를 제공하는 42일 과정 | 콘텐츠 해금, 학습 관리 | 수면 학습 |
| 콘텐츠 해금(Content Unlock) | 사용자의 진행에 따라 학습 콘텐츠에 접근 권한이 부여되는 과정 | 학습 진행, 콘텐츠 접근 | 콘텐츠 오픈 |
| 학습 경로(Learning Path) | 미리 정의된 수면탐구 콘텐츠의 해금 순서 | 콘텐츠 해금, 진행 관리 | 학습 순서 |
| 하이라이트(Highlight) | 사용자가 학습 내용 중 중요하다고 표시한 텍스트 | 하이라이트 관리, 개인화 | 즐겨찾기 |
| 진행률(Progress) | 사용자의 수면탐구 콘텐츠 학습 완료 비율 | 학습 관리, 통계 | 완료율 |
| 퀴즈(Quiz) | 학습한 내용을 확인하는 질문 형태의 평가 | 학습 평가, 복습 | 테스트 |
| 사용자 입력(User Input) | 학습 과정에서 사용자가 입력하는 텍스트 또는 미디어 | 개인화, 기록 | 사용자 응답 |
| 텍스트 설정(Text Settings) | 학습 콘텐츠 텍스트의 표시 방식을 조절하는 기능 | 접근성, 사용자 경험 | 텍스트 옵션 |
| TTS(Text-to-Speech) | 텍스트를 음성으로 변환하여 읽어주는 기능 | 접근성, 오디오 | 음성 읽기 |
| 이미지 오버레이(Image Overlay) | 이미지 확대 보기를 위한 전체화면 표시 기능 | 미디어 관리, UI | 이미지 확대 보기 |
엔티티
| 엔티티 | 정의 | 식별자 | 주요 속성 |
|---|---|---|---|
| 레슨(Lesson) | 수면탐구 학습의 기본 단위 | lessonId | 제목, 내용, 해금 일차, 순서 |
| 하이라이트(Highlight) | 사용자가 표시한 중요 텍스트 | highlightId | 사용자ID, 레슨ID, 텍스트, 위치 |
| 사용자 입력(UserInput) | 레슨에 대한 사용자 응답 | inputId | 사용자ID, 레슨ID, 내용, 생성시간 |
| 학습 진행(LearningProgress) | 사용자의 학습 진행 상태 | progressId | 사용자ID, 완료한 레슨 수, 전체 진행률 |
| 레슨 완료(LessonCompletion) | 개별 레슨의 완료 상태 | completionId | 사용자ID, 레슨ID, 완료 시간 |
| 퀴즈(Quiz) | 학습 평가를 위한 질문 | quizId | 퀴즈 타입, 질문, 보기, 정답 |
| 퀴즈 응답(QuizResponse) | 사용자의 퀴즈 답변 | responseId | 사용자ID, 퀴즈ID, 선택한 답변, 정답 여부 |
| 텍스트 설정(TextSetting) | 사용자의 텍스트 표시 설정 | settingId | 사용자ID, 폰트 크기, TTS 상태 |
| 미디어(Media) | 레슨에 포함된 이미지나 비디오 | mediaId | 타입, URL, 크기, 메타데이터 |
| 해금 상태(UnlockStatus) | 콘텐츠의 해금 상태 정보 | statusId | 사용자ID, 레슨ID, 해금 여부, 해금 시간 |
값 객체
| 값 객체 | 정의 | 불변 속성 | 동등성 기준 |
|---|---|---|---|
| 하이라이트 내용(HighlightContent) | 하이라이트된 텍스트와 메타데이터 | 텍스트, 챕터명, 위치 | 모든 속성 |
| 사용자 입력 내용(UserInputContent) | 사용자가 입력한 내용 | 텍스트, 생성 시간 | 텍스트 내용 |
| 퀴즈 정보(QuizInfo) | 퀴즈의 타입과 내용 정보 | 타입(O/X, 객관식), 질문 내용 | 모든 속성 |
| 퀴즈 결과(QuizResult) | 퀴즈 응답 결과 | 정답 여부, 제출 시간 | 모든 속성 |
| 텍스트 크기(TextSize) | 텍스트 표시 크기 값 | 크기 값(pt) | 크기 값 |
| TTS 설정(TTSSetting) | TTS 기능 설정 값 | 활성화 상태, 언어, 속도 | 모든 속성 |
| 이미지 정보(ImageInfo) | 이미지 표시 관련 정보 | URL, 크기, 확대 상태 | URL |
| 진행률 값(ProgressValue) | 학습 진행률 수치 | 값(백분율) | 값 |
| 해금 정보(UnlockInfo) | 콘텐츠 해금 관련 정보 | 해금 일차, 상태 | 모든 속성 |
| 미디어 메타데이터(MediaMetadata) | 미디어 파일의 부가 정보 | 크기, 형식, 재생 시간 | 모든 속성 |
집계
| 집계 | 정의 | 루트 엔티티 | 포함된 엔티티/값 객체 |
|---|---|---|---|
| 수면탐구 콘텐츠(SleepExplorationContent) | 수면탐구 콘텐츠 집합 | Lesson | Media, LessonCompletion, UnlockStatus |
| 사용자 학습(UserLearning) | 사용자의 학습 활동 집합 | LearningProgress | LessonCompletion, UserInput |
| 하이라이트 관리(HighlightManagement) | 사용자의 하이라이트 집합 | Highlight | HighlightContent |
| 퀴즈 세션(QuizSession) | 퀴즈 진행 및 결과 | Quiz | QuizResponse, QuizResult |
| 사용자 설정(UserSettings) | 사용자의 앱 설정 집합 | TextSetting | TextSize, TTSSetting |
| 미디어 관리(MediaManagement) | 레슨 관련 미디어 집합 | Media | ImageInfo, MediaMetadata |
| 사용자 입력 관리(UserInputManagement) | 사용자 입력 데이터 집합 | UserInput | UserInputContent |
도메인 이벤트
| 이벤트 | 정의 | 트리거 | 처리자 |
|---|---|---|---|
| LessonUnlocked | 새로운 레슨이 해금됨 | 해금 날짜 도달 | 콘텐츠 관리자 |
| LessonCompleted | 사용자가 레슨을 완료함 | 마지막 페이지 도달 또는 다음 버튼 클릭 | 진행률 관리자 |
| HighlightCreated | 새로운 하이라이트가 생성됨 | 텍스트 롱프레스 | 하이라이트 관리자 |
| HighlightDeleted | 하이라이트가 삭제됨 | 하이라이트 삭제 확인 | 하이라이트 관리자 |
| UserInputSaved | 사용자 입력이 저장됨 | 포커스 아웃, 다음 버튼 클릭, 화면 이탈 | 사용자 입력 관리자 |
| TextSettingsChanged | 텍스트 설정이 변경됨 | 설정 저장 버튼 클릭 | 설정 관리자 |
| TTSActivated | TTS 기능이 활성화됨 | 오디오 버튼 클릭 | TTS 관리자 |
| ImageViewerOpened | 이미지 뷰어가 열림 | 이미지 탭 | 미디어 관리자 |
| VideoPlaybackStarted | 비디오 재생이 시작됨 | 비디오 재생 버튼 클릭 | 미디어 관리자 |
| QuizAnswered | 퀴즈에 답변함 | 답변 제출 | 퀴즈 관리자 |
| QuizResultShown | 퀴즈 결과가 표시됨 | 답변 제출 후 | 퀴즈 관리자 |
| ProgressUpdated | 진행률이 업데이트됨 | 레슨 완료 | 진행률 관리자 |
| AllLessonsCompleted | 모든 레슨이 완료됨 | 마지막 레슨 완료 | 퀴즈 관리자, 진행률 관리자 |
| DailyQuizUnlocked | 일일 퀴즈가 해금됨 | 모든 레슨 완료 후 하루 경과 | 퀴즈 관리자 |
서비스
| 서비스 | 정의 | 책임 | 의존성 |
|---|---|---|---|
| 콘텐츠 관리 서비스(ContentManagementService) | 수면탐구 콘텐츠 관리 | 콘텐츠 제공, 해금 관리 | LessonRepository, UnlockStatusRepository |
| 진행 관리 서비스(ProgressManagementService) | 학습 진행 관리 | 진행률 계산, 레슨 완료 처리 | LearningProgressRepository, LessonCompletionRepository |
| 하이라이트 서비스(HighlightService) | 하이라이트 관리 | 하이라이트 생성, 조회, 삭제 | HighlightRepository |
| 사용자 입력 서비스(UserInputService) | 사용자 입력 관리 | 입력 저장, 로드, 동기화 | UserInputRepository |
| 텍스트 설정 서비스(TextSettingService) | 텍스트 표시 설정 관리 | 설정 저장, 적용 | TextSettingRepository |
| TTS 서비스(TTSService) | TTS 기능 관리 | 음성 변환, TTS 설정 | TextSettingRepository |
| 미디어 서비스(MediaService) | 미디어 관리 | 이미지 표시, 비디오 재생 | MediaRepository |
| 퀴즈 서비스(QuizService) | 퀴즈 관리 | 퀴즈 제공, 결과 처리 | QuizRepository, QuizResponseRepository |
| 추천 서비스(RecommendationService) | 콘텐츠 추천 | 다음 학습 콘텐츠 추천 | LearningProgressRepository, LessonRepository |
| 데이터 접근 서비스(DataAccessService) | 데이터 접근 제어 | 권한 확인, 데이터 보호 | AuthService |
정책
| 정책 | 정의 | 규칙 | 영향 |
|---|---|---|---|
| 콘텐츠 해금 정책 | 콘텐츠 해금 규칙을 정의하는 정책 | 해금 일정, 순서, 조건 | 콘텐츠 접근 |
| 콘텐츠 추천 정책 | 콘텐츠 추천 규칙을 정의하는 정책 | 추천 우선순위, 조건 | 사용자 경험 |
| 진행률 계산 정책 | 진행률 계산 규칙을 정의하는 정책 | 계산 방식, 업데이트 조건 | 진행 표시 |
| 하이라이트 관리 정책 | 하이라이트 관리 규칙을 정의하는 정책 | 생성, 표시, 삭제 규칙 | 하이라이트 기능 |
| 사용자 입력 저장 정책 | 사용자 입력 저장 규칙을 정의하는 정책 | 저장 시점, 방식, 제한 | 데이터 관리 |
| 텍스트 설정 정책 | 텍스트 설정 규칙을 정의하는 정책 | 크기 범위, 기본값, 적용 방식 | 텍스트 표시 |
| 미디어 관리 정책 | 미디어 관리 규칙을 정의하는 정책 | 표시 방식, 지원 형식, 제한 | 미디어 표시 |
| 퀴즈 제공 정책 | 퀴즈 제공 규칙을 정의하는 정책 | 제공 조건, 빈도, 형식 | 학습 평가 |
| 데이터 접근 정책 | 데이터 접근 규칙을 정의하는 정책 | 접근 권한, 인증 요구사항 | 데이터 보안 |
| 성능 관리 정책 | 성능 관련 규칙을 정의하는 정책 | 응답 시간, 동시 접속 처리 | 사용자 경험 |
변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 0.1.0 | 2025-04-03 | bok@weltcorp.com | 최초 작성 |