[Feature] 통계 API 구현 (8.1~8.5) #132

Closed
opened 2026-02-10 14:03:18 +00:00 by seonkyu.kim · 0 comments
Owner

개요

API Specification §8의 Stats API 5종을 구현한다.

API URI 설명
8.1 POST /v1/in/stats/daily 기간별 일별 통계 조회
8.2 POST /v1/in/stats/summary 대시보드 요약 통계
8.3 POST /v1/in/stats/message 메시지별 발송 통계
8.4 POST /v1/in/stats/hourly 시간대별 발송 추이
8.5 POST /v1/in/stats/device 디바이스 분포 통계

구현 계획

DTOs (Application Layer)

  • DailyStatRequestDto / DailyStatResponseDto — 8.1
  • SummaryStatResponseDto — 8.2
  • MessageStatRequestDto / MessageStatResponseDto — 8.3
  • HourlyStatRequestDto / HourlyStatResponseDto — 8.4
  • DeviceStatResponseDto — 8.5

Service (Application Layer)

  • IStatsService + StatsService — 5개 메서드

Repository (Domain/Infrastructure)

  • IDailyStatRepository 확장 — 기간 조회, 요약 집계
  • IPushSendLogRepository 확장 — 시간대별 집계, 메시지별 집계

Controller (API Layer)

  • StatsController — 5개 엔드포인트

참조

  • 📌 API Specification §8 (Stats API)
  • 기존 DailyStat 엔티티, PushSendLog 테이블 활용
## 개요 API Specification §8의 Stats API 5종을 구현한다. | API | URI | 설명 | |-----|-----|------| | 8.1 | `POST /v1/in/stats/daily` | 기간별 일별 통계 조회 | | 8.2 | `POST /v1/in/stats/summary` | 대시보드 요약 통계 | | 8.3 | `POST /v1/in/stats/message` | 메시지별 발송 통계 | | 8.4 | `POST /v1/in/stats/hourly` | 시간대별 발송 추이 | | 8.5 | `POST /v1/in/stats/device` | 디바이스 분포 통계 | ## 구현 계획 ### DTOs (Application Layer) - `DailyStatRequestDto` / `DailyStatResponseDto` — 8.1 - `SummaryStatResponseDto` — 8.2 - `MessageStatRequestDto` / `MessageStatResponseDto` — 8.3 - `HourlyStatRequestDto` / `HourlyStatResponseDto` — 8.4 - `DeviceStatResponseDto` — 8.5 ### Service (Application Layer) - `IStatsService` + `StatsService` — 5개 메서드 ### Repository (Domain/Infrastructure) - `IDailyStatRepository` 확장 — 기간 조회, 요약 집계 - `IPushSendLogRepository` 확장 — 시간대별 집계, 메시지별 집계 ### Controller (API Layer) - `StatsController` — 5개 엔드포인트 ### 참조 - **📌 API Specification §8** (Stats API) - 기존 `DailyStat` 엔티티, `PushSendLog` 테이블 활용
seonkyu.kim added the
Priority
High
Status
Available
Type
Feature
labels 2026-02-10 14:03:28 +00:00
seonkyu.kim added this to the Phase 3-2: 통계 & Webhook & 배치 milestone 2026-02-10 14:03:31 +00:00
seonkyu.kim self-assigned this 2026-02-10 14:03:34 +00:00
seonkyu.kim added
Status
In Progress
and removed
Status
Available
labels 2026-02-10 14:10:44 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-10 14:11:41 +00:00
Sign in to join this conversation.
No description provided.