Skip to content
ije90s edited this page Sep 14, 2022 · 5 revisions

출석체크

  • 날짜 조회
    • 이 아닌 단위로 주차/월에 해당하는 날짜 조회한다.
    • 디폴트 설정은 현재 날짜이다.
    • 주차 조회
      • 조건(날짜, 현재/이전/다음)에 따라 일~월요일까지의 한 주의 날짜를 보여준다.
      • [이전/다음]은 현재 날짜 기준 -1주/+1주이다.
    • 월별 조회: n년 n월에 해당하는 n주차별 날짜를 보여준다.
      • [현재]를 클릭하면 현재 날짜로 돌아온다.
  • 출석 조회
    • 시작일, 끝일에 해당하는 날짜를 조회하여 계정의 출석일, 총 건수를 보여준다.
    • 계정을 hover했을 때, 날짜에 출석일을 표시한다.

랭킹순위

  • 랭킹 조회
    • 조건에 해당하는 랭킹 순위를 보여준다. 랭킹 기준은 누적 건수 높은순>낮은순이다.
    • 조건은 출석/커밋/풀퀘/댓글이다. 여기서 댓글은 커밋과 풀퀘에 단 댓글이다.
  • 계정 상세
    • 계정을 클릭하면 계정 상세 모달창이 뜬다.
    • 상세 정보는 아이디, 이름, 프로필 이미지, 깃허브 주소, 전체 누적 건수으로 구성된다.
    • 깃허브 아이콘을 클릭하면, 깃허브 주소로 연결한다.

댓글

  • utterances로 댓글 기능을 구현한다.

스케줄링(배치 작업)

  • 자정이 되면 히스토리 누적(with 깃 API) > 히스토리 누적 건수 업데이트 > 출석 업데이트 순으로 진행한다.
  • 각 배치 작업이 끝나면, logger로 간단하게 작업 결과를 출력한다.
  • 히스토리 누적
    • 깃 API를 이용하여 활동 내역(커밋, 풀퀘, 댓글)들을 일괄 등록한다(이미 등록된 데이터는 제외)
    • 데이터들이 페이징되어 오기 때문에 마지막 데이터를 기준으로 API를 호출한다.
  • 히스토리 누적 건수 업데이트
    • 일괄 등록한 후에 계정별, 항목별(커밋, 풀퀘, 댓글)로 계정 정보를 업데이트한다.
  • 출석 업데이트
    • 마지막 출석일을 기준으로 히스토리 테이블에서 날짜를 조회(GROUP BY), 출석 테이블에 일괄 등록한다.
    • 조회한 출석 건수를 계정 정보에도 업데이트한다.

💎 Project

📝 Record

Clone this wiki locally