Skip to content

daydreamplace/kakao-chatbot-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

makeat-kakao-chatbot-server

프로젝트 개요

🗂️ 프로젝트 명

메이킷_오늘의 다이어트 식단관리

🎯 프로젝트 목표와 목적

카카오 챗봇을 통해 사용자 정보를 수집하여 기초대사량(BMR)을 계산하고 개인 맞춤형 식단을 제공하는 챗봇 서비스를 개발

🗓️ 프로젝트 기간

2023년 7월 1일부터 2023년 8월 31일까지 (2개월)

👥 팀 구성원과 역할

  • 박유빈: 챗봇 및 서버 개발 총괄

프로젝트 구조 및 설계

🗂️ 디렉토리 구조

├── app
│   ├── __pycache__
│   ├── static
│   ├── templates
│   │   └── index.html
│   ├── __init__.py
│   ├── constants.py
│   ├── models.py
│   ├── routes.py
│   └── utils.py
├── data
│   ├── menu.json
│   └── users.db
├── myenv
├── README.md
└── main.py

🛠️ 주요 파일 설명

  • app/: Flask 애플리케이션의 주요 코드가 있는 디렉토리입니다.
    • __init__.py: Flask 앱 초기화 및 설정 파일
    • constants.py: 애플리케이션에서 사용되는 상수 정의
    • models.py: 데이터베이스 모델 정의
    • routes.py: Flask 라우팅 및 API 엔드포인트 정의
    • utils.py: 유틸리티 함수 정의
    • templates/: HTML 템플릿 파일들이 저장된 디렉토리
      • index.html: 메인 HTML 페이지 템플릿
    • static/: 정적 파일들 (CSS, JavaScript 등)
  • data/: 데이터 파일들이 저장된 디렉토리
    • menu.json: 식단 관련 데이터를 저장하는 JSON 파일
    • users.db: SQLite 데이터베이스 파일 (사용자 정보, 신체 정보 등 저장)
  • myenv/: 프로젝트 가상 환경 디렉토리
  • main.py: 애플리케이션의 진입점으로, 서버를 시작하는 코드가 포함되어 있습니다.

🛠️ 기술 스택

  • 카카오 관련 기술: 카카오 비즈니스와 채널 챗봇을 포함한 카카오 디벨로퍼스 도구들 사용
  • 개발 언어: Python 3
  • 웹 프레임워크: Flask
  • 데이터베이스: SQLite
  • 호스팅: AWS EC2 인스턴스

프로젝트 구현

🫘 카카오 챗봇 스킬 및 시나리오

챗봇은 카카오의 챗봇 플랫폼을 활용하여, 다음과 같은 기능들을 제공:

  • 사용자 프로필 정보 가져오기 (GET_USER_PROFILE)
  • 개인정보 처리 동의 및 수정
  • 신체 정보 입력 및 수정 (현재 체중, 목표 체중)
  • BMR(기초대사량) 계산 후 개인 맞춤형 식단 제공 (TODAY_MENU)

💾 데이터 관리

  • menu.json: 각 사용자에게 제공되는 식단 데이터를 JSON 형식으로 저장.
  • users.db: 사용자 정보, 신체 정보, 목표 체중 및 체중 변동 이력을 SQLite 데이터베이스에 저장.

🔧 설치 및 실행 방법

  1. 가상환경 설정: 프로젝트 루트 디렉토리에서 다음 명령어를 실행하여 가상환경을 활성화합니다.

    source myenv/bin/activate
    
    
  2. 의존성 설치: requirements.txt 파일이 있는 경우, 다음 명령어로 필요한 패키지를 설치합니다.

    pip install -r requirements.txt
    
    
  3. 애플리케이션 실행: main.py를 실행하여 Flask 서버를 시작합니다.

    python main.py
    
    
  4. 서버 접근: 브라우저에서 http://localhost:5000으로 접근하여 애플리케이션을 확인합니다.

주요 기능

  • 사용자 프로필 확인 및 수정: 사용자의 성별, 생년월일, 체중 등의 정보를 확인하고 수정할 수 있습니다.
  • BMR 계산: 사용자의 신체 정보를 기반으로 기초대사량을 계산하여 하루 권장 칼로리에 맞춘 식단을 추천합니다.
  • 식단 제공: 사용자의 BMR에 맞춘 오늘의 식단을 제공하는 기능을 포함합니다.

이슈 해결 및 개선 사항

  • 카카오 인증 블록 문제: 인증 블록이 작동하지 않던 문제를 초기화하여 해결했습니다.
  • 체중 입력 오류: 소수점 단위 체중 입력 시 발생하는 오류를 해결할 계획입니다.

프로젝트 성과 및 결과

  • 사용자 경험 개선: 직관적인 인터페이스와 자연스러운 대화 흐름을 통해 사용자 만족도를 높였습니다.
  • 데이터 활용 가능성: 수집된 사용자 데이터를 바탕으로 향후 마케팅 전략 수립 및 서비스 개발에 기여할 수 있습니다.

About

카카오톡 채널 "메이킷_오늘의 다이어트 식단관리" 챗봇 로직

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.8%
  • JavaScript 0.1%
  • CSS 0.1%
  • PowerShell 0.0%
  • C 0.0%
  • Shell 0.0%