Skip to content

⚙️[기능추가][타이머] 타이머 세션 도메인 구현 #25

Description

@Cassiiopeia

📝 현재 문제점

  • 타이머 세션 관련 도메인이 전혀 구현되어 있지 않음
  • API 스펙상 세션 저장, 목록 조회, 오늘 통계 3개 엔드포인트가 정의되어 있으나 모두 미구현

🛠️ 해결 방안 / 제안 기능

  • POST /api/timer-sessions : 세션 저장 시 서버에서 시간 유효성 검증 후 연료 자동 충전
  • GET /api/timer-sessions : 날짜 범위/todoId 필터 + 페이지네이션 조회
  • GET /api/timer-sessions/today-stats : 오늘 총 공부 시간, 세션 수, 연속 공부 일수(streak) 반환
  • 세션 저장 시 연결된 할일의 actualMinutes 누적 업데이트

⚙️ 작업 내용

  • TimerSession Entity 구현 (timer_sessions 테이블 대응)
  • TimerSessionRepository 구현 (날짜 범위 쿼리, 오늘 통계 쿼리 포함)
  • TimerSessionService : 세션 저장 로직 (유효성 검증 5가지 조건), 목록 조회, 오늘 통계 + streak 계산
  • 세션 저장 시 FuelService.charge() 호출하여 연료 충전 (도메인 간 의존성 설계 필요)
  • SS-Web/controller/timer/TimerSessionController 구현
  • Flyway 마이그레이션 : timer_sessions 테이블 생성 SQL 추가

🙋‍♂️ 담당자

  • 백엔드: 이름
  • 프론트엔드: 이름
  • 디자인: 이름

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