언젠가 꼭 개발자들에게 오픈 소스 sw를 제공해보고 싶었다.
나의 github readme에
github stat
을 보여주는 api가 있는 것을 보고 (https://github.com/anuraghazra/github-readme-stats) 내가 운영 중인velog
에 대한 stat을 github readme에 이미지로 보여줄 수 있다면 좋겠다는 생각이 들었다.
그리고 이는 개발 블로그를 운영 중인 개발자들에게 관심을 받을 수 있을 거란 생각이 들어 개발에 착수했다.
아쉽게도 velog
는 따로 API를 제공하지 않는다. 하지만 구글링 중에 velog 게시글의 방문자 수 통계를 확인하는 방법을 조사한 개발자 분이 계셨다.
이 분의 방법은 velog의 GraphQL을 이용하는 것이었다.
velog는 GraphQL을 이용해 서버에서 데이터를 조회해 화면을 렌더링하는 것 같다.
velog에 작성한 게시글에 대한 통계를 이미지로 제공
게시글 수 (Total Posts
)
게시글 태그 (Tags (most 3)
)
총 방문자 수 (Total Visitors
) - 선택
(민트 색 이미지)
필수
선택
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 요청을 통해 받고 있는데, 보안에 대한 개선점을 고민하고 있는 중입니다. 같이 고민해주시면 감사할 것 같아요 :)