TreeNut-KR / ChatBot

ChatBot 웹사이트 프로젝트
GNU General Public License v3.0
1 stars 0 forks source link

v0.1.0, ChatBot_Docker #24

Open CutTheWire opened 2 months ago

CutTheWire commented 2 months ago

FastAPI 프로젝트 구조 설명

이 프로젝트는 FastAPI를 사용하여 다양한 기능을 제공하는 웹 애플리케이션을 개발한 예입니다. 주로 MongoDB와 MySQL 데이터베이스를 사용하여 데이터 처리를 수행하며, 각 기능은 라우터로 구분되어 있습니다.

디렉터리 및 파일 설명

주요 코드 설명 (server.py)

데이터베이스 핸들러 설명 (DB_mongo.py, DB_mysql.py)

API 명세서를 포함한 FastAPI 프로젝트 구조와 주요 엔드포인트에 대한 설명을 추가하겠습니다.

프로젝트 구조

📦fastapi
 ┣ 📂batchfile
 ┃ ┣ 📜venv_install.bat
 ┃ ┗ 📜venv_setup.bat
 ┣ 📂sources
 ┃ ┣ 📂utils
 ┃ ┃ ┣ 📜DB_mongo.py
 ┃ ┃ ┣ 📜DB_mysql.py
 ┃ ┃ ┣ 📜Error_handlers.py
 ┃ ┃ ┗ 📜Models.py
 ┃ ┣ 📜.env
 ┃ ┗ 📜server.py
 ┣ 📜.DS_Store
 ┣ 📜Dockerfile
 ┣ 📜requirements.txt
 ┗ 📜wait-for-it.sh

API 명세서

API 명세서는 프로젝트의 주요 엔드포인트와 그 기능에 대한 설명을 포함합니다.

기본 정보

엔드포인트

각 엔드포인트는 MySQL과 MongoDB 관련 작업을 다룹니다.

MySQL 관련 엔드포인트

메소드 경로 설명
GET /mysql/tables MySQL 데이터베이스 내의 모든 테이블 목록을 반환합니다.
GET /mysql/query 사용자 정의 MySQL 쿼리를 실행하고 결과를 반환합니다.

예시

MongoDB 관련 엔드포인트

메소드 경로 설명
GET /mongo/db MongoDB 서버에 있는 데이터베이스 목록을 조회합니다.
GET /mongo/collections 현재 데이터베이스의 컬렉션 목록을 조회합니다.
POST /mongo/chat/create MongoDB에 새로운 유저 채팅 문서(채팅 로그)를 생성합니다.
PUT /mongo/chat/save_log 생성된 채팅 문서에 유저의 채팅 데이터를 저장합니다.
POST /mongo/chat/load_log 생성된 채팅 문서의 채팅 로그를 MongoDB에서 불러옵니다.
DELETE /mongo/chat/delete_log 최신 대화 ~ 선택된 채팅을 로그에서 삭제합니다.

예시

헬스 체크 엔드포인트

메소드 경로 설명
GET / 서버의 상태를 확인합니다.