Skip to content

✨ Feat: 유저 일별 활동 트래킹(DAU/MAU 기반) 인프라 구축 #421

Description

@si-zero

🛠️ Issue Overview

어드민 대시보드에 DAU/MAU 등 유저 활동 지표를 보여주려는데, 현재 앱에는 유저 활동을 트래킹하는 필드/테이블이 전혀 없습니다 (User.createdAt/deletedAt만 존재).

📝 Issue Description

user_daily_activities 테이블을 신설해 유저별/날짜별 활동 여부를 기록합니다.

  • logged_in: 그날 로그인했는지 (AuthService 로그인 성공 시점에 기록)
  • active: 그날 인증된 API를 한 번이라도 호출했는지 (JwtFilter에서 기록)

동시 요청 시 race condition 없이 안전하게 기록하기 위해 Postgres INSERT ... ON CONFLICT ... DO UPDATE (UPSERT)를 사용합니다.

이후 이어질 대시보드 API(summary/dau-mau/new-users 등)의 전제조건이 되는 기반 작업입니다.

✅ To do

  • UserDailyActivity 엔티티 및 리포지토리 추가 (UPSERT 쿼리 포함)
  • JwtFilter에서 인증 요청마다 active UPSERT
  • AuthService 로그인 성공 시점에 logged_in UPSERT
  • 단위테스트 작성

Metadata

Metadata

Assignees

Labels

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

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions