Skip to content

Viber 메신저 플랫폼의 '대화형 봇' 을 통한 모바일 선물하기 서비스

Notifications You must be signed in to change notification settings

sharetreats-team/chatbot-treats-webhook

Repository files navigation

chatbot-treats-webhook

🎁 Viber 메신저 플랫폼의 '대화형 봇' 을 통한 모바일 선물하기 서비스 🎁

  • Version : 1.0.0
  • 프로젝트 명 : Viber 챗봇 기반 선물하기 서비스 구현
  • 프로젝트 기간 : 2023.06.08 ~ 2023.07.10
  • 프로젝트 소개 :
    • Viber 앱(메신저 플랫폼)의 챗봇과 통신할 수 있는 webhook 서버 구축
    • 해당 챗봇을 통한 선물하기 서비스 개발

설계 및 명세, 문제 해결에 대한 내용은 Wiki를 참고해주세요. Wiki 바로가기


✨ 개발환경

1) 핵심 외부 API

첨부된 링크를 통해 Viber API 문서를 확인할 수 있습니다.

2) 주요 환경

  • IntelliJ IDEA (Ultimate)
  • Java 11
  • Gradle 7.6.1
  • Spring Boot 2.7.12

3) 활용 기술

  • (ORM) JPA
  • Spring Mail (Gmail SMTP)
  • JsonObject
  • SpringAsync
  • RestTemplate

4) 데이터베이스

  • (RDB) MySQL
  • (In-memory) Redis

5) 인프라

  • AWS EC2
  • Certificate Manager, ALB (HTTPS 네트워크 구축)
  • AWS RDS (MySQL)
  • ElastiCache Redis
  • S3 Image Bucket
  • Github Action
  • Code Deploy

6) VCS(Version Controller System) & etc

  • Git
  • Notion, Slack

🅰 프로젝트 아키텍처

image


🆃 업무 진행 규칙

1️⃣ Projects 페이지의 칸 반 보드에서 Todo를 확인합니다.
2️⃣ 본인이 작업할 업무가 있으면 In Progress로 옮깁니다. (없을 경우 직접 새로 만들어주세요.)
3️⃣ 'In Progress'로 옮긴 업무를 Convert to issue로 변경하고, 작업의 내용을 자세하게 작성합니다.
4️⃣ 코드를 fork하고 개인 repository 에서 작업합니다.
5️⃣ 작업을 완료하면 original repositorytest 브랜치로 PR을 보냅니다.
6️⃣ 코드리뷰를 진행하고, 모든 승인을 받으면 Merge 합니다.
7️⃣ Merge가 성공하면, Issue는 자동으로 종료합니다. 또한 In Progress에 있던 작업 티켓도 Done으로 자동으로 이동합니다.

🅲 커밋 메시지 규칙

1) 작성 규칙

  • 작은 단위로 커밋해주세요.
  • 어떻게 보다는 무엇과 왜를 구체적으로 설명해주세요.
    • 타이틀은 목적 이 드러나게 작성해주세요.
    • 본문은 진행 이유 가 드러나게 작성해주세요.
  • 작성 형식
    • 태그: 커밋 메시지 (이슈번호)
    • ex) feat: 환영 메시지 전송 기능 구현 (#1)

2) 태그 설명

태그이름 설명
feat 새로운 기능 추가 및 코드 구현
update 이미 구현된 코드에서 기능 추가 및 변경
bug 버그 수정
docs 문서 작성 및 수정
refactor 코드 리팩토링 (성공적으로 배포한 코드를 변경)

ᛘ 형상관리

1) 브랜치 전략

github-flow 전략 사용

  1. 기능 테스트를 위해서는 배포가 되어야 함 -> 배포 빈도가 잦을 것으로 예상
  2. 따라서 브랜치를 복잡하게 나누지 말고, 작업에 맞게 하위 브랜치만 뽑는 전략
  3. 또는 fork 하여 개인 repo 에서 작업을 진행하고, PR을 보낸다.
  4. 추가로 git-flow 전략의 방식을 융합하여 main 브랜치에 merge 하기 전에 테스트 진행
브랜치명 설명
main 서비스 운영이 가능한 수준의 최종 브랜치
test 배포 테스트를 위한 브랜치 , 최종 브랜치 이전에 오류 해결

2) PR 및 코드리뷰 규칙

  • 매일 17시 진행
  • 본인이 작업한 코드를 발표
  • 발표 후, PR 페이지에서 코드리뷰 진행
  • merge를 위해서 팀원 전원(4인)에게 approve를 받아야합니다.
  • PR 본문은 자세하게 작성
    • This closes #이슈번호 를 꼭 작성합니다.

3) 배포 작업 규칙

  • 매일 17시 이후 배포를 진행
  • 문제가 없는 작업(브랜치)을 main 브랜치merge 하여 자동 배포
  • 테스트를 진행하고 개선사항 및 다음 작업 점검

⏯ 구현 결과

(좌) 시연 영상, (우) 수신자 이메일로 전달되는 선물

image image



👨‍💻 팀 멤버

🌟 채화담 강시혁 김다엘 이규호

📧 문의하기

About

Viber 메신저 플랫폼의 '대화형 봇' 을 통한 모바일 선물하기 서비스

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •