Skip to content

#429 [Feat] 어드민 대시보드 신규 가입자 추이 API 추가 - #430

Merged
si-zero merged 6 commits into
devfrom
feat/#429
Sep 1, 2026
Merged

#429 [Feat] 어드민 대시보드 신규 가입자 추이 API 추가#430
si-zero merged 6 commits into
devfrom
feat/#429

Conversation

@si-zero

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

Copy link
Copy Markdown
Member

#️⃣ 연관된 이슈

📝 작업 내용

✨ Feat

내용 파일
신규 가입자 기간별 추이 조회 저장소 쿼리 추가 (일별/주별, Postgres generate_series 기반) UserRepository.java
추이 응답 DTO 추가 (기간 전체 합계 totalCount 포함) AdminDashboardNewUsersResponse.java
추이 조회 서비스 로직 추가 AdminDashboardService.java
추이 조회 API 엔드포인트 추가 AdminDashboardController.java

📚 Docs

내용 파일
신규 가입자 추이 API 명세 추가 docs/api-specs/dashboard-api.md

📌 공유 사항

  1. GET /api/v1/admin/dashboard/new-users?from=&to=&granularity=day|week로 기간별 신규 가입자 추이를 조회합니다. ✨ Feat: 어드민 대시보드 DAU/MAU 추이 API 추가 #427(dau-mau)과 동일한 파라미터 형태입니다.
  2. dau-mau와 달리 롤링 윈도우 없이 단순 카운트만 수행합니다 (day: 그날 가입자 수, week: ISO 8601 월요일 시작 기준 그 주 가입자 수).
  3. 응답에 totalCount(임의 기간 from~to 전체의 정확한 합계)를 추가했습니다. week 단위 조회 시 주 경계가 from/to를 벗어날 수 있어 items 합산과 totalCount가 다를 수 있는데, 임의 기간의 정확한 총합이 필요하면 항상 totalCount를 쓰면 됩니다.
  4. 기간 상한은 #428과 동일한 이유로 두지 않았습니다 (관리자 전용 저빈도 조회 API).

✅ 체크리스트

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

📸 스크린샷

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

@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 merged commit d8fe672 into dev Sep 1, 2026
1 check passed
@si-zero
si-zero deleted the feat/#429 branch September 1, 2026 07:00
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.

1 participant