🛠️ 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
🛠️ 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에서 인증 요청마다activeUPSERTAuthService로그인 성공 시점에logged_inUPSERT