(이 Repository가 담당하는 서비스의 간략한 설명을 작성하세요.) 이 Repository는 산돌이 프로젝트의 카카오톡 챗봇 서버 코드 내용입니다.
이 서비스는 Docker 컨테이너로 실행되며, 이후 Docker Compose를 활용하여 통합 운영됩니다.
- FastAPI + SQLAlchemy + SQLite 기반의 API 서버
- 카카오톡 Open Builder의 설정을 통해 본 서버와 연동됩니다.
- 문서 링크
- 서비스 관련 문서
- 카카오 OpenBuilder 가이드: OpenBuilder 가이드
-
모든 서비스는 Docker 기반으로 실행되므로,
Docker
만 설치되어 있다면 로컬 환경에 별도로 의존하지 않음 -
환경 변수 파일 (
.env
) 필요DEBUG=False # User 서버에 저장된 SERVICE_ID SERVICE_ID=4 # 각종 설정(Debug 변경시 변경 필요) DATABASE_URL=sqlite+aiosqlite:///./kakao_bot_service.db USER_SERVICE_URL=http://user-service:8000/user MEAL_SERVICE_URL=http://meal-service:80/meal STATIC_INFO_SERVICE_URL=http://static-info-service:80/static-info NOTICE_SERVICE_URL=http://notice-notification:8081/notice-notification CLASSTROOM_TIMETABLE_SERVICE_URL=http://classroom-timetable-service:80/classroom-timetable # 애플리케이션 설정 APP_PORT=80 APP_ENV=development
-
Docker Compose를 통해 서비스 간 네트워크 및 볼륨을 설정
-
프론트엔드 서비스(챗봇 서버, 웹 서비스)와 백엔드 서비스(API 서버)의 차이점을 반영하여 개별 실행 가능
docker compose up -d
docker compose up -d sandol_kakao_bot_service
docker compose down
docker compose up -d --build
-
Database 자동화
- Sqlalchemy를 사용하여 데이터베이스 마이그레이션을 자동으로 처리합니다. Service_account 등 db가 없을 경우 자동으로 생성됩니다.
-
.env 파일 설정 필요
- repository에
.env
파일이 포함되어 있지 않으므로, 환경에 맞게.env
파일을 생성해야 합니다. 파일의 내용은.env.example
파일을 참고하세요.
- repository에
- 버그는 Issue로 등록해주세요.
- 디스코드 채널(팀원용)
- 코드 개발자(홍석영)의 깃허브
🚀 산돌이 프로젝트와 함께 효율적인 개발 환경을 만들어갑시다!