Skip to content

GitHub 커밋 관리, 알고리즘 스터디를 위한 카카오워크 챗봇

Notifications You must be signed in to change notification settings

Coding-Without-Breathing/Algo-Git-Ni

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title

소프트웨어 마에스트로 12기 과정의 미니 프로젝트로써 기획 및 개발된 알고있니 봇
카카오 워크 앱의 채팅방에서 대화하며 작동되는 Node.js 기반의 챗봇입니다.

봇 이름인 '알고있니' 는 Algorithm 의 '알고' + Git 의 '있' (C적 허용) + '니' 로 이루어져있어,
봇이 제공하는 두 가지 큰 기능을 상징적으로 나타냅니다.

   

🎂 알고있니 봇의 탄생

개발자들의 역량은 다양한 방식으로 기를 수 있습니다. 백준 온라인 같은 문제은행 사이트에서 알고리즘 문제를 풀거나, 자신의 기술 스택을 함양하기 위해 언어 및 프레임워크 공부를 하거나, 블로그를 만들어 자신이 알고있는 지식이나 TIL (Today I Learned) 등을 공유하거나, 프로젝트를 개발하며 GitHub 포트폴리오를 관리하는 등 개발자들은 다양한 방법으로 역량 강화를 하곤 합니다.

그 중에서도 저희가 생각하기에 개발자들이 가장 선호하고, 가장 대중적인 역량 강화 방법은 아래 두 가지였습니다.

  • 첫 번째, 1일 1커밋 챌린지

    • 하루에 최소 1회 이상 프로젝트 개발 내용, 새롭게 배운 것 등을 커밋하며 꾸준하게 SW 개발 능력 함양
  • 두 번째, PS (Problem Solving) 스터디

    • 스터디 원들과 함께 알고리즘 문제를 풀며 논리적 사고 능력 함양 및 코딩 테스트 대비

따라서 저희는 이러한 방식으로 꾸준히 노력하고 있는 개발자들을 위해, 더욱 쉽고 간편하게 역량 강화를 할 수 있도록 도와주는 챗봇을 만들어보고 싶었습니다. 그렇게, 1일 1커밋 문화를 격려하고 알고리즘 문제풀이 스터디를 간단하고 손쉽게 운영할 수 있게끔 편리한 기능들을 제공하는 알고있니 봇이 탄생하게 되었습니다.


🐶 주요 기능

알고있니 봇은 크게 두 가지 기능을 제공합니다.

1. 알고있니? 너 오늘 커밋 안 한거.

1일 1커밋을 이어가는 것은 습관화가 되지 않는 이상 힘든 도전입니다. 알고있니 봇은 같은 고민을 하고 있는 개발자들을 위해, 아래와 같은 기능들을 통해 1일 1커밋 습관을 들일 수 있게끔 도와드립니다.

  • 일일 커밋 알림
    매일 밤 일정 시각에 자신의 커밋 여부에 따라 커밋 활동 알림을 전송하여 매일 매일 커밋을 할 수 있도록 도와줍니다. (거의 독촉합니다)

  • 커밋 리포트
    알고있니 봇을 사용하는 모든 사용자들의 데이터를 기반으로, 오늘의 커밋 횟수, 참가자 중 나의 랭킹, 1일 1커밋 달성률 정보 (금월 커밋을 한 날짜 개수 / 금월 총 날짜 개수) 등을 알려주며 활발한 커밋 문화를 조성합니다.

2. 알고있니? 너 오늘 알고리즘 문제 안 푼거.

코딩 테스트를 위해서, 논리 사고력 증진을 위해서 알고리즘 문제를 풀고자 하는 개발자들을 위한 기능입니다. 알고리즘 스터디를 형성하여 더욱 재밌게 스터디를 진행할 수 있게끔 도와드립니다.

  • 획득 뱃지 보기
    스터디 구성원들 각각이 몇 문제를 풀었는지를 기준으로, 롤 티어 모양의 뱃지를 부여해서 보여드립니다. 동기부여를 도와줍니다.

  • 추천 문제 받기
    사용하는 모든 사용자들의 데이터 기반으로, 사람들이 가장 많이 푼 백준 온라인 문제를 추천해드립니다. 집단지성의 힘을 빌립니다.

🐱 사용법 및 스크린샷

아래는 챗봇의 메인메뉴입니다. 크게 두 가지 기능을 이용할 수 있습니다.

1. 커밋 챌린지 기능

2. 알고리즘 스터디 기능

메인메뉴

커밋 챌린지 기능

우선 '커밋 챌린지 참가하기'를 클릭하게 되면, 커밋 챌린지에 참가할 GitHub ID 를 입력하는 모달 뷰가 뜹니다.

커밋챌린지 등록창

모달 뷰에 자신의 GitHub ID 를 입력하고 전송하게 되면, '커밋 챌린지 등록 완료' 메세지를 수신하게 됩니다.

커밋챌린지 등록 완료창

등록이 완료되면, 아래와 같은 '커밋 챌린지' 기능 사용을 위한 메인 메뉴를 보여줍니다.

커밋챌린지 메인 메뉴

'오늘 커밋 여부 확인' 메뉴를 누르게 되면 금일 자신의 커밋 횟수를 보여줍니다.

커밋챌린지 오늘의 커밋

'나의 순위 보기' 메뉴를 누르게 되면 알고있니 봇을 사용하는 전체 사용자들 중 자신의 커밋 순위를 표시해줍니다.

커밋챌린지 순위

'커밋 챌린지 달성률' 메뉴는 (금월 커밋을 한 날짜 수 / 금월 총 날짜 수) 를 달성률 형태로 보여줍니다.

커밋 챌린지 달성률


알고리즘 스터디 운영 기능

스터디 운영을 위해서라면, 스터디 전용 Git Repository 생성이 필요합니다. 이때, Git Repository 는 반드시 Public 상태여야 합니다. 또한, 이 Repo 에 푸시하는 커밋 메세지는 모두 '문제 번호' 로만 입력해야 올바르게 동작합니다.

ex) git commit -m "3245"

'PS 스터디 개설하기' 를 클릭하게 되면 스터디를 진행할 Repository 와, 본인의 GitHub ID 를 입력하는 모달 뷰를 수신합니다.

스터디등록창

만약 올바른 Repository URL 이 전달되었다면, 아래와 같이 성공 메세지를 수신합니다. 또한, 챗봇 특성 상 스터디 구성원들의 Commit & Push 액션 이벤트를 WebHook 형태로 감지하여 DB 를 구성하기 때문에 GitHub Repo 의 WebHook 설정 방법 또한 함께 받아볼 수 있습니다.

레포확인

WebHook 설정이 완료됐다면, 기능이 정상적으로 동작하게 됩니다!

'획득한 뱃지 보기'를 누르면, 자신이 푼 문제의 개수에 따라 뱃지를 부여해줍니다.

  • 브론즈: 0 ~ 9개
  • 실버: 10개 ~ 29개
  • 골드: 30개 ~ 49개
  • 플레티넘: 50개 ~ 69개
  • 다이아몬드: 70개 ~ 99개
  • 마스터: 100개 ~ 149개
  • 그랜드마스터: 150개 ~ 199개
  • 챌린저: 200개 이상

뱃지

'추천 문제 보기' 메뉴는 알고있니 봇을 사용하는 모든 사용자들의 데이터를 기반으로, 가장 많이 푼 문제 TOP 5 를 보여줍니다.

추천 문제

About

GitHub 커밋 관리, 알고리즘 스터디를 위한 카카오워크 챗봇

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published