Skip to content

πŸš€ [κΈ°λŠ₯κ°œμ„ ][Timer][ν”„λ‘œν•„] today-stats λˆ„μ  톡계 ν•„λ“œ 3개 ν΄λΌμ΄μ–ΈνŠΈ 연동 #83

@EM-H20

Description

@EM-H20

πŸ“ ν˜„μž¬ 문제점

  • 인증 μ‚¬μš©μžμ˜ λˆ„μ  톡계가 첫 νŽ˜μ΄μ§€(20μ„Έμ…˜) 만 ν•©μ‚°λ˜μ–΄ λΆ€μ •ν™•ν•œ 값이 λ…ΈμΆœλ¨.
  • 영ν–₯:
    • ν”„λ‘œν•„ ν™”λ©΄ 톡계 μΉ΄λ“œ 의 "곡뢀 μ‹œκ°„" 이 졜근 20μ„Έμ…˜ κΈ°μ€€μœΌλ‘œλ§Œ 계산됨 (profile_screen.dart:83).
    • 뱃지 ν•΄κΈˆ μ‹œμŠ€ν…œ 의 쑰건 평가 (badge_provider.dart:53-55) β€” "총 100μ‹œκ°„ 곡뢀", "총 50회 μ„Έμ…˜ μ™„λ£Œ" λ₯˜ 뱃지가 μ˜μ›νžˆ ν•΄κΈˆλ˜μ§€ μ•ŠμŒ.
  • 게슀트 λͺ¨λ“œλŠ” 둜컬 전체 μ„Έμ…˜μ΄ λ©”λͺ¨λ¦¬μ— μžˆμ–΄ 정확함 β†’ λΆ„κΈ° 처리 ν•„μš”.
  • λ°±μ—”λ“œ μΈ‘ λŒ€μ‘ 이슈: today-stats-cumulative-fields.md

πŸ› οΈ ν•΄κ²° λ°©μ•ˆ / μ œμ•ˆ κΈ°λŠ₯

  • λ°±μ—”λ“œκ°€ GET /api/timer-sessions/today-stats 응닡에 μΆ”κ°€ν•˜λŠ” 3개 ν•„λ“œλ₯Ό ν΄λΌμ΄μ–ΈνŠΈκ°€ λ°›μ•„ λˆ„μ  톡계 provider 에 λ…ΈμΆœ.
  • κΈ°μ‘΄ todayStatsProvider νŒ¨ν„΄ (인증=μ„œλ²„ / 게슀트=둜컬) κ·ΈλŒ€λ‘œ 적용.
  • 게슀트 λͺ¨λ“œ λ‘œμ§μ€ μ†λŒ€μ§€ μ•ŠμŒ β€” 둜컬 전체 μ„Έμ…˜ 합산이 이미 μ •ν™•.

βš™οΈ μž‘μ—… λ‚΄μš©

  • μ„ ν–‰ 쑰건: λ°±μ—”λ“œ μž‘μ—… μ™„λ£Œ + docs/api-docs.json 의 TodayStatsResponse μŠ€ν‚€λ§ˆ κ°±μ‹ 
  • TodayStatsResponseModel DTO 에 ν•„λ“œ 3개 μΆ”κ°€
    • lifetimeMinutes, lifetimeSessionCount, monthlyMinutes
  • TodayStats 도메인 엔티티에도 동일 ν•„λ“œ μΆ”κ°€ (toEntity() λ§€ν•‘ κ°±μ‹ )
  • study_stats_provider.dart 의 3개 provider λ₯Ό 인증/게슀트 λΆ„κΈ°λ‘œ λ¦¬νŒ©ν„°λ§
    • totalStudyMinutesProvider β†’ 인증: lifetimeMinutes, 게슀트: κΈ°μ‘΄ 둜컬 ν•©μ‚°
    • totalSessionCountProvider β†’ 인증: lifetimeSessionCount, 게슀트: κΈ°μ‘΄
    • monthlyStudyMinutesProvider β†’ 인증: monthlyMinutes, 게슀트: κΈ°μ‘΄
  • build_runner build --delete-conflicting-outputs μž¬μ‹€ν–‰
  • λ‹¨μœ„ ν…ŒμŠ€νŠΈ
    • today_stats_response_model_test.dart β€” μƒˆ ν•„λ“œ 직렬화/μ—”ν‹°ν‹° λ³€ν™˜
    • study_stats_provider_test.dart β€” 인증/게슀트 뢄기별 κ°’ 확인
  • νšŒκ·€ κ°€λ“œ: κΈ°μ‘΄ today_stats_provider_test.dart 톡과 μœ μ§€

πŸ™‹β€β™‚οΈ λ‹΄λ‹Ήμž

  • λ°±μ—”λ“œ: 이름
  • ν”„λ‘ νŠΈμ—”λ“œ: 이름
  • λ””μžμΈ: 이름

Metadata

Metadata

Assignees

Labels

μž‘μ—…μ™„λ£Œμž‘μ—… μ™„λ£Œ μƒνƒœμΈ 경우 (이슈 폐쇄)

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions