Skip to content

Conversation

@imtaejugkim
Copy link
Collaborator

โœ… ๐—–๐—ต๐—ฒ๐—ฐ๐—ธ-๐—Ÿ๐—ถ๐˜€๐˜

  • mergeํ•  ๋ธŒ๋žœ์น˜์˜ ์œ„์น˜๋ฅผ ํ™•์ธํ•ด ์ฃผ์„ธ์š”(mainโŒ/developโญ•)
  • ๋ฆฌ๋ทฐ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฆฌ๋ทฐ์–ด๋ฅผ ์ง€์ •ํ•ด ์ฃผ์„ธ์š”
  • ๋ฆฌ๋ทฐ๋Š” (์•„์ง ๋ฏธ์ •)์— ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.
  • P1 ๋‹จ๊ณ„์˜ ๋ฆฌ๋ทฐ๋Š” (์•„์ง ๋ฏธ์ •)๊นŒ์ง€ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.
  • Approve๋œ PR์€ assigner๊ฐ€ ๋จธ์ง€ํ•˜๊ณ , ์ˆ˜์ • ์š”์ฒญ์ด ์˜จ ๊ฒฝ์šฐ ์ˆ˜์ • ํ›„ ๋‹ค์‹œ push๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ๐—œ๐˜€๐˜€๐˜‚๐—ฒ๐˜€

๐Ÿ“Ž๐—ช๐—ผ๐—ฟ๐—ธ ๐——๐—ฒ๐˜€๐—ฐ๐—ฟ๐—ถ๐—ฝ๐˜๐—ถ๐—ผ๐—ป

  • ํˆฌ๋‘ ์ถ”๊ฐ€/์ˆ˜์ •/์‚ญ์ œ ์‹œ ํˆฌ๋‘, ํˆฌ๋ฐ์ด ํ™”๋ฉด ๋ฐ˜์˜
  • ์Šค์ผ€์ฅด ์ถ”๊ฐ€/์ˆ˜์ •/์‚ญ์ œ ์‹œ ํˆฌ๋ฐ์ด ํ™”๋ฉด ๋ฐ˜์˜
  • ๋‹ค์ด์–ผ๋กœ๊ทธ ์ง€์—ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

๐Ÿ“ท ๐—ฆ๐—ฐ๐—ฟ๐—ฒ๐—ฒ๐—ป๐˜€๐—ต๐—ผ๐˜

Screen_recording_20250806_232326.mp4

๐Ÿ’ฌ ๐—ง๐—ผ ๐—ฅ๐—ฒ๐˜ƒ๐—ถ๐—ฒ๐˜„๐—ฒ๐—ฟ๐˜€

event bus ์™€ shared flow๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋ฒคํŠธ๋ฅผ ๊ณต์œ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ๊ฐ€ ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™์€๋ฐ, ๊ด€๋ จํ•ด์„œ ์ฒดํ‚น์ด ์ข€ ๋” ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ฝ”๋ฆฌ ๋งŒ๊ด€๋ถ€!

imtaejugkim and others added 29 commits June 10, 2025 23:41
@imtaejugkim imtaejugkim requested a review from hwidung August 6, 2025 14:26
@imtaejugkim imtaejugkim requested a review from hyoeunjoo August 6, 2025 14:26
@imtaejugkim imtaejugkim self-assigned this Aug 6, 2025
@imtaejugkim imtaejugkim added ๐Ÿคขํƒœ์ •๐Ÿคข โ™ป๏ธ [REFACTOR] ๋ฆฌํŒฉํ„ฐ๋ง (์ „๋ฉด ์ˆ˜์ •) ๐Ÿ”ง [FIX] ๋ฒ„๊ทธ ๋ฐ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ labels Aug 6, 2025
Copy link
Collaborator

@hyoeunjoo hyoeunjoo left a comment

Choose a reason for hiding this comment

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

์ง„์งœ ์ด๊ฒŒ ๋˜๋„ค. ์ด๊ฑธ ํ•ด๋‚ด๋„ค. ์—ญ์‹œ ๊น€ํƒœ์ •.
์ „ ์•ž์œผ๋กœ ์‹œ๋‚ด๋ฒ„์Šค ์•ˆํƒ€๊ณ  ์ด๋ฒคํŠธ ๋ฒ„์Šค ํƒ€๊ณ  ๋‹ค๋‹๊ฒ๋‹ˆ๋‹ค

Comment on lines +9 to +19
@Singleton
class EventBus
@Inject
constructor() {
private val _events = MutableSharedFlow<EventType>()
val events = _events.asSharedFlow()

suspend fun emit(event: EventType) {
_events.emit(event)
}
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

์•ฑ ์ „์—ญ์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœํ–‰ํ•˜๊ณ  ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก SharedFlow๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ EventBus๋ฅผ ์ž˜ ์„ค๊ณ„ํ•ด์ฃผ์‹  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
sealed class EventType๋กœ ์ด๋ฒคํŠธ ํƒ€์ž…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•œ ๋•์— ํƒ€์ž… ์•ˆ์ •์„ฑ๊นŒ์ง€;

๋‹ต์€ ์ด๋ฒคํŠธ ๋ฒ„์Šค์˜€์Šต๋‹ˆ๋‹ค.. ๊ฐ“ํƒœ์ •!

Comment on lines 73 to 89
viewModelScope.launch {
_deleteState.value = UiState.Loading
val result = todoRepository.deleteTodo(toDoId = planId)

_deleteState.value =
result.fold(
onSuccess = {
viewModelScope.launch {
eventBus.emit(EventType.TodoDeleted)
}
UiState.Success(Unit)
},
onFailure = { throwable ->
Timber.e(throwable, "Failed to delete Todo")
UiState.Failure
},
)
Copy link
Collaborator

Choose a reason for hiding this comment

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

์—ฌ๊ธฐ viewModelScope๊ฐ€ ์ค‘์ฒฉ๋˜์–ด ๋“ค์–ด๊ฐ€์žˆ๋Š”๋ฐ ํ˜น์‹œ ์˜๋„๊ฐ€ ์žˆ์œผ์…จ๋˜๊ฑธ๊นŒ์š”?
์ค‘์ฒฉ launch๋Š” ๋ถˆํ•„์š”ํ•œ ์ฝ”๋ฃจํ‹ด ์ปจํ…์ŠคํŠธ ์ƒ์„ฑ์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค๊ตฌ ์•Œ๊ณ  ์žˆ์–ด์„œ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋‚จ๊ฒจ๋ด…๋‹ˆ๋‹ค ใ…Žใ…Ž

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

๋ชจ๋“  ์ฝ”๋“œ์— ๊ฐ™์€ ๋กœ์ง์„ ์ถ”๊ฐ€ํ–ˆ๋”๋‹ˆ, ์ถ”๊ฐ€ํ•˜๋Š” ๊ณผ์ •์— lauch๋„ ๊ทธ๋Œ€๋กœ ์ถ”๊ฐ€๋ฅผ ํ–ˆ๋„ค์š”.. ์ˆ˜์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

Copy link
Collaborator

@hwidung hwidung left a comment

Choose a reason for hiding this comment

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

์ตœ๊ณ !! ์˜ค๋น  ๋จผ์ € ๋จธ์ง€ํ•˜๋ฉด ๋‚ด๊บผ ๊ทธ ์œ„์— ๋ฆฌํŒฉํ•ด์„œ ๋จธ์ง€ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์˜น ์ˆ˜๊ณ ํ–ˆ์ˆ‘~~

Copy link
Collaborator

@hwidung hwidung Aug 11, 2025

Choose a reason for hiding this comment

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

์ด๋ ‡๊ฒŒ ์ถ”์ƒํ™” ํ•ด์ฃผ์‹  ๋ถ€๋ถ„์„ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!! ์ข‹์€ ์„ค๊ณ„ ๋•กํ๋ฒ ๋ฆฌ๋ง์น˜

Comment on lines 101 to 104
focusManager.clearFocus(force = true)

val inputMethodManager = context.getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager
inputMethodManager?.hideSoftInputFromWindow((context as? Activity)?.currentFocus?.windowToken, 0)
Copy link
Collaborator

Choose a reason for hiding this comment

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

์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๋ฉด ๋”ฐ๋กœ ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ํ™•์žฅํ•จ์ˆ˜๋กœ ๋งŒ๋“ค์–ด๋„ ๋  ๊ฒƒ ๊ฐ™์•„์š”!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

์ข‹์€ ๊ฒƒ ๊ฐ™์•„์š”. ๋ฐ˜์˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

Comment on lines 320 to 322
viewModelScope.launch {
eventBus.emit(EventType.TodoUpdated)
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

์œ„์— event bus๋ฅผ ์ž˜ ์ •์˜ํ•ด์ค€ ๋•๋ถ„์— ์ด๋ ‡๊ฒŒ ํŽธํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๊ตฌ๋‚˜!! ๋‚˜๋„ ๋ฆฌํŒฉํ•  ๋•Œ ํƒ€์ž… ์ง€์ •ํ•ด์„œ ์ด๋ ‡๊ฒŒ ํ• ๊ฒœ!!

Copy link
Collaborator

@hwidung hwidung left a comment

Choose a reason for hiding this comment

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

์ €ํฌ์˜ ํฐ ๋ฌธ์ œ์ ์ด์—ˆ๋˜ ๋ Œ๋”๋ง ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์ง€๋งŒ!! ๊ทธ๋Ÿฐ๋ฐ ์‚ฌ์‹ค Todo ์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธธ ๋•Œ๋งˆ๋‹ค getTodoList์„ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ˆ ์–ด๋А ์ •๋„ ๋ถˆํ•„์š”ํ•œ ์ž์›์„ ๋‚ญ๋น„ํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์–ด์š”

๋‚˜์ค‘์— ๋ฆฌํŒฉํ† ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด Room+Flow ์‚ฌ์šฉํ•˜๋ฉด ์กฐ๊ธˆ ๋” ํšจ์œจ์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ€ํƒ€์š”

์ €ํฌ๊ฐ€ ์ถ”๊ฐ€๋ฅผ ํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ํ•จ๊ณผ ๋™์‹œ์— Room db์—๋„ ์ €์žฅํ•˜๋ฉด, Room์ด ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•˜๊ณ  ๊ด€์ฐฐ ์ค‘์ด๋˜ Flow์— ๋ณ€๊ฒฝ๋œ ๋ชฉ๋ก์„ ์ž๋™์œผ๋กœ emit ํ•˜๋ฉด ์ด๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ด ๋  ์ˆ˜ ์žˆ๋‹ค! ๊ทธ๋ž˜์„œ ์ด ๋ถ€๋ถ„๋„ ์ €ํฌ๊ฐ€ ๊ณ„์† ์•Œ์•„๋ดค์œผ๋ฉด ์ข‹๊ฒ ๋‹ค~ ๋ž€ ์ƒ๊ฐ์ด ๋“ค์—ˆ์–ด์š”์˜ค์˜น

@imtaejugkim imtaejugkim merged commit d7054b6 into develop Aug 17, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

๐Ÿ”ง [FIX] ๋ฒ„๊ทธ ๋ฐ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ โ™ป๏ธ [REFACTOR] ๋ฆฌํŒฉํ„ฐ๋ง (์ „๋ฉด ์ˆ˜์ •) ๐Ÿคขํƒœ์ •๐Ÿคข

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Fix] ํƒœ์ • 3์ฐจ QA

4 participants