Skip to content

#427 [Feat] 어드민 대시보드 DAU/MAU 추이 API 추가 - #428

Merged
si-zero merged 5 commits into
devfrom
feat/#427
Sep 1, 2026
Merged

#427 [Feat] 어드민 대시보드 DAU/MAU 추이 API 추가#428
si-zero merged 5 commits into
devfrom
feat/#427

Conversation

@si-zero

@si-zero si-zero commented Sep 1, 2026

Copy link
Copy Markdown
Member

#️⃣ 연관된 이슈

📝 작업 내용

✨ Feat

내용 파일
DAU/MAU 기간별 추이 조회 저장소 쿼리 추가 (Postgres generate_series 기반) UserDailyActivityRepository.java, DailyUserCount.java
추이 응답 DTO 추가 AdminDashboardTrendItemResponse.java, AdminDashboardDauMauResponse.java
추이 조회 서비스 로직 추가 AdminDashboardService.java
추이 조회 API 엔드포인트 추가 AdminDashboardController.java

📚 Docs

내용 파일
DAU/MAU 추이 API 명세 추가 docs/api-specs/dashboard-api.md

📌 공유 사항

  1. GET /api/v1/admin/dashboard/dau-mau?from=&to=&granularity=day|month로 기간별 추이를 조회합니다.
  2. granularity=day(기본값)는 그날그날의 단순 카운트(DAU), month는 그날 기준 최근 30일 롤링 윈도우의 distinct 카운트(MAU)입니다.
  3. Postgres generate_series로 날짜 축을 만들고 LEFT JOIN 해서, 활동이 없는 날짜도 0으로 채워서 반환합니다 (차트 그릴 때 빈 구간 없이 그대로 쓸 수 있게).
  4. from > toCOMMON_400으로 400을 반환합니다.
  5. 기간 상한(예: 최대 366일)은 의도적으로 두지 않았습니다. 관리자 권한이 필요한 저빈도 내부 조회 API라 남용 리스크가 낮고, 실제로 느린 쿼리가 관측되면 그때 추가하는 게 낫다고 판단했습니다.

✅ 체크리스트

  • Reviewer에 팀원들을 선택했나요?
  • Assignees에 본인을 선택했나요?
  • 컨벤션에 맞는 Type을 선택했나요?
  • Development에 이슈를 연동했나요?
  • Merge 하려는 브랜치가 올바르게 설정되어 있나요?
  • 컨벤션을 지키고 있나요?
  • 로컬에서 실행했을 때 에러가 발생하지 않나요?
  • 팀원들에게 PR 링크 공유를 했나요?

📸 스크린샷

./gradlew test 전체 통과. AdminDashboardServiceTest에 day/month/from>to 검증 케이스 3개 추가.

@si-zero si-zero self-assigned this Sep 1, 2026
@si-zero si-zero added the ✨ Feat (기능 추가) 새로운 기능을 추가할 때 사용합니다. label Sep 1, 2026
@si-zero si-zero linked an issue Sep 1, 2026 that may be closed by this pull request
3 tasks
@si-zero
si-zero merged commit 2129d35 into dev Sep 1, 2026
1 check passed
@si-zero
si-zero deleted the feat/#427 branch September 1, 2026 06:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feat (기능 추가) 새로운 기능을 추가할 때 사용합니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ Feat: 어드민 대시보드 DAU/MAU 추이 API 추가

1 participant