무신사 스토어 가격 변동 파악 웹사이트입니다.
매일 크롤링을 통해 인기 랭킹 아이템을 수집하고 가격 비교를 제공합니다.
github action의 cron을 사용하여 크롤링 자동화를 구성하였습니다. 데이터가 업데이트 되는 순간이 캐시의 유효성이 만료되는 시기이므로 크롤링 과정에서 cache는 초기화되고 db에 데이터가 저장됩니다. 또한, 페이징 성능 저하를 방지하기위해 통계 데이터를 미리 집계하여 실행하고 저장하도록 하였습니다. 작업의 결과는 slack으로 전송해 매일 정상적으로 데이터가 수집되는지 확인할 수 있습니다.
급증하는 트래픽에도 대응할 수 있도록 컨테이너 오케스트레이션 툴로 NCP kubernetes service를 사용했습니다.
Backend 테스트 커버리지 80%이상을 목표로 잡고 있습니다. jacoco를 도입하여 평균 라인 커버리지 80%, 브랜치 커버리지 80%을 넘지 못하면 빌드가 실패하도록 하여 테스트 코드를 신경쓰도록 개발했습니다.
현재 coverage
line coverage : 84%
branch coverage : 84%