Skip to content

[FEATURE] Jandi #24

Description

@myoungjugo

#️⃣ 요청 유형

해당되는 항목을 선택해주세요.

  • 새로운 기능 추가
  • 기존 기능 개선
  • 성능 개선

#️⃣ 어떤 기능인가요?

사용자 활동 데이터 시각화(잔디) 및 외부 위젯 연동 기능 추가

사용자의 일별 포스트 적재 데이터를 기반으로 한 활동 통계 조회 API 구현

외부 사이트(블로그, 노션 등)에 삽입 가능한 고유 위젯 ID 발급 및 전용 데이터 제공 기능 추가

#️⃣ 이 기능이 필요한 이유는 무엇인가요?

사용자의 지속적인 콘텐츠 발행을 독려하고, 본인의 활동 기록을 시각적으로 확인하여 성취감을 부여하기 위함입니다. 또한, 외부 위젯 기능을 통해 사용자가 자신의 활동을 타 플랫폼에 공유함으로써 서비스 유입 경로를 확장하고자 합니다.

구현 방안 (선택)

비동기 통계 계산: POST_AGG 테이블을 활용하여 Streak(연속일) 및 레벨 시스템 로직 구현

보안 위젯: widget_id(UUID) 기반의 비인증 API를 설계하여 토큰 없이도 안전하게 외부 렌더링 지원

템플릿 분리: HTML 템플릿과 비즈니스 로직을 분리하여 유지보수성 향상

#️⃣ 작업 상세 내용

  • 사용자의 연간/월간 잔디 활동 조회 및 Streak 계산 로직 구현 (/activity)
  • 외부 방문자용 비인증 잔디 데이터 조회 API 구현 (/widget-data)
  • 사용자별 고유 위젯 ID(UUID) 발급 및 관리 기능 추가 (/widget-id)
  • 포스트 수에 따른 캐릭터 성장 단계(Level) 계산 로직 구현 (/level)
  • 최근 활동 포스트 목록 간편 조회 기능 추가 (/post-recent)
  • 메일 및 위젯용 HTML 템플릿 엔진 구조 설계
  • hopscotch 테스트

📎 참고할만한 자료 (선택)

API 명세서: Auth 및 Jandi 도메인 엔드포인트(9개 이상) 정의 완료

시퀀스 다이어그램: 위젯 발급 및 외부 뷰어 호출 흐름도 참조

관련 문서, 스크린샷, 또는 예시 등이 있다면 여기에 첨부해주세요.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions