토이 프로젝트) PostStatsView, 자신의 velog 통계를 이미지로 받아보자

60jong·2023년 2월 15일
1

토이프로젝트

목록 보기
1/1
post-thumbnail

💡오픈 소스 제작

언젠가 꼭 개발자들에게 오픈 소스 sw를 제공해보고 싶었다.

나의 github readme에 github stat을 보여주는 api가 있는 것을 보고 (https://github.com/anuraghazra/github-readme-stats) 내가 운영 중인 velog에 대한 stat을 github readme에 이미지로 보여줄 수 있다면 좋겠다는 생각이 들었다.

그리고 이는 개발 블로그를 운영 중인 개발자들에게 관심을 받을 수 있을 거란 생각이 들어 개발에 착수했다.



velog API

아쉽게도 velog는 따로 API를 제공하지 않는다. 하지만 구글링 중에 velog 게시글의 방문자 수 통계를 확인하는 방법을 조사한 개발자 분이 계셨다.

(https://velog.io/@isntkyu/NodeJs-%EB%B2%A8%EB%A1%9C%EA%B7%B8-%EC%A0%84%EC%B2%B4-%EA%B2%8C%EC%8B%9C%EA%B8%80-%EC%A1%B0%ED%9A%8C%EC%88%98-%ED%86%B5%EA%B3%84-API-%EB%A7%8C%EB%93%A4%EC%96%B4%EB%B4%84)

이 분의 방법은 velog의 GraphQL을 이용하는 것이었다.

velog GraphQL

velog는 GraphQL을 이용해 서버에서 데이터를 조회해 화면을 렌더링하는 것 같다.

서비스 내용

velog에 작성한 게시글에 대한 통계를 이미지로 제공

  • 게시글 수 (Total Posts)

  • 게시글 태그 (Tags (most 3))

  • 총 방문자 수 (Total Visitors) - 선택

사용 예시

(민트 색 이미지)

필요 정보

  • 필수

    • velog username
  • 선택

    • velog에서 발행한 refresh_token (개인 velog 웹에서 개발자 도구를 통해 찾을 수 있음)

      • 총 방문자 수 표시를 위해 필요

사용 방법

  • 게시글 수, 게시글 태그만 표시하고 싶은 경우

GET https://post-stat-view.60jong.site/api/v1/velog-stats?username={username}

  • 추가로 총 방문자 수를 표시하고 싶은 경우

POST https://post-stat-view.60jong.site/api/v1/velog-stats/users/{username}/token

with Request body : {"refreshToken":"yourTokenValue"}

GET https://post-stat-view.60jong.site/api/v1/velog-stats?username={username}&show_visitors=true

사용 기술

  • Java 11

  • Spring Boot 2.7.8

  • Spring-Data-JPA

  • AWS Ec2 Ubuntu 20.04.5 LTS

  • MySQL 8.0.32

  • JUNIT 5

GitHub stat을 보여주는 https://github.com/anuraghazra/github-readme-stats를 참고해서 만들어봤습니다!

개발 블로그로 velog를 사용 중이신 분은 한 번 사용해보시면 좋을 것 같아요:)

github : https://github.com/60jong/PostStatView

질문 사항

현재 총 방문자 수를 구하기 위해, velog에서 발급한 refresh_token을 이용하고 있는 상황입니다.

최대한 외부에 노출하지 않기 위해 POST 요청을 통해 받고 있는데, 보안에 대한 개선점을 고민하고 있는 중입니다. 같이 고민해주시면 감사할 것 같아요 :)

profile
울릉도에 별장 짓고 싶다

0개의 댓글