Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
3b05efd
[ADD/#265] Kotest 의존성 추가 및 단위 테스트를 위한 JUnit 플랫폼 설정
MoonsuKang Jun 4, 2025
8309c17
[ADD/#265] DraftDiaryContents 및 CreatedDraftDiaryInfo 데이터 클래스 추가
MoonsuKang Jun 4, 2025
ba09f76
[ADD/#265] 임시저장을 위한 Response/Request DTO 추가
MoonsuKang Jun 4, 2025
bf282eb
[FEAT/#265] 임시저장 Diary API 메서드 추가
MoonsuKang Jun 4, 2025
ffdab1b
[FEAT/#265] 임시저장 Diary 관련 API 메서드 추가(dataSource)
MoonsuKang Jun 4, 2025
54ab943
[FEAT/#265] 임시저장을 위한 다이어리 API 메서드 추가(Repository)
MoonsuKang Jun 4, 2025
761fa55
[FEAT/#265] 임시저장 기능을 위한 UseCase 추가
MoonsuKang Jun 4, 2025
9e9a87c
[FEAT/#265] ViewModel에 임시 일기 fetch/save 로직 추가 및 상태 처리 구현
MoonsuKang Jun 4, 2025
c80e418
[ADD/#265] Lifecycle STARTED 기준 LaunchedEffect 유틸 함수 추가
MoonsuKang Jun 4, 2025
d822f93
[ADD/#265] route단에 임시저장 fetch 추가 및 뒤로가기 분기 추가
MoonsuKang Jun 4, 2025
6a1ebec
[TEST/#265] FakeDiaryRepository 추가
MoonsuKang Jun 4, 2025
64ff044
[TEST/#265] FakeDiaryRemoteDataSource 클래스 추가 및 임시저장 기능 구현
MoonsuKang Jun 4, 2025
62c351c
[TEST/#265] 임시저장 다이어리 조회 및 저장 기능에 대한 테스트 추가
MoonsuKang Jun 4, 2025
d674b06
[TEST/#265] WriteDiaryViewModel 단위 테스트 구현 (임시저장 한정)
MoonsuKang Jun 4, 2025
29d1f2d
[REFACTOR/#265] onDismiss, onDismissExitDialog 분리 및 BackHandler 처리
MoonsuKang Jun 5, 2025
1863b26
[REFACTOR/#265] "보내기" 클릭 시 에러메시지가 나타나지 않는 문제 해결
MoonsuKang Jun 5, 2025
2e10906
[ADD/#265] 임시저장 Fetch실패 시 에러메시지 처리 추가
MoonsuKang Jun 5, 2025
808001c
[MOD/#265] 프린트문 제거
MoonsuKang Jun 5, 2025
794e940
[REFACTOR/#265] API 명세 변경에 따른 비즈니스 로직 수정
MoonsuKang Jun 6, 2025
b6c76f4
[REFACTOR/#265] 임시저장 처리 개선 및 기본 항목 보장 추가
MoonsuKang Jun 6, 2025
ca66f7a
[REFACTOR/#265] 임시저장 처리 개선 및 기본 항목 보장 추가
MoonsuKang Jun 6, 2025
84ccb64
[REFACTOR/#265] 임시저장 API 응답 타입 변경(->Unit) 및 관련 코드 수정
MoonsuKang Jun 6, 2025
05b2f97
[REFACTOR/#265] 임시저장 API 응답 타입 변경(->Unit) 및 관련 코드 수정
MoonsuKang Jun 6, 2025
a606664
[REFACTOR/#265] Repository의 임시저장 일기 조회 실패 메시지 처리 책임을 ViewModel로 이동
MoonsuKang Jun 6, 2025
58c726d
[ADD/#265] trailing comma
MoonsuKang Jun 6, 2025
14fc909
Merge branch 'develop' into feat/#265-draft-save-api
MoonsuKang Jun 7, 2025
9fda999
[ADD/#265] close blacket 추가
MoonsuKang Jun 7, 2025
bd24e15
[ADD/#265] import 순서 변경
MoonsuKang Jun 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[p3]
createdAt 정보가 쓰이는 곳이 없는 걸로 파악이 되는데, 일단 서버가 이 값을 내려주는 이유도 궁금하고 굳이 Domain Layer에도 만들어야하나? 라는 생각이 듭니다😂

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저 생성시간을 홈 분기에서 쓰는 걸로 처음에 이해해서 만들어놨었는데 지금 보니 그냥 any?로 처리해도 될거 같네요! 제거 하겠습니다잉

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.sopt.clody.domain.model

data class CreatedDraftDiaryInfo(
val createdAt: String,
)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[p3]
CreatedDraftDiaryInfo 와 비슷한 리뷰인데요, Domain 레이어의 model을 선언해야하는 것의 기준은 어떤 것일까요?

  1. Clean Architecture를 위해 Dto를 Mapping하여 Presentation Layer에서 의존성을 지킬 수 있도록 하는 것.
  2. 비즈니스 로직에 걸맞는 꼭 필요한 Model일 것.

1번만큼 중요한게 2번 기준이라고 개인적으로 생각합니다. 그래서 꼭 필요한 Model인가? 비즈니스적인 성격이 잘 드러나는가? 변경 가능성이 작은가? 등을 항상 고려하려고 하는데 지금처럼 간단한 List 타입 하나만 들어있으며, 쓰임새도 확실한(?) 것 같은 경우에는 그냥 별도의 모델 제작하지 않고 List 가 아닌 List으로 사용하는 것은 어떻게 생각하세요?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

도메인 관점에서 "임시 저장된 일기 모음"이라는 개념을 갖고 있다고 생각해서 별도 모델로 분리를 했습니다...
그리고 DraftDiaryContents.draftDiaries 같은 명시적 구조가 더 직관적일 수 있다고 생각합니다?
선생님께서 말씀하신 List로 하면 Presnetation layer에서 의미를 유추하는 구조?로 될것 같은데
혹시 이걸 의도 하신 설계를 생각하신 건지 궁금합니데이~

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.sopt.clody.domain.model

data class DraftDiaryContents(
val draftDiaries: List<String>,
)