Skip to content

KR9268/wanted_vibe_code_practice_week2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

커서 활용 실습으로 제작한 저장소입니다

🤖 AI 챗봇 프로젝트

FastAPI + Streamlit 기반의 AI 챗봇 시스템입니다. LangGraph를 활용한 React Agent로 웹 검색 기능을 제공합니다.

🏗️ 프로젝트 구조

vctest6/
├── backend/                           # FastAPI 백엔드
│   ├── app/
│   │   ├── api/                       # API Layer
│   │   ├── services/                  # Service Layer
│   │   └── agents/                    # Agent Layer (AI)
│   └── tests/                         # 테스트
├── frontend/                          # Streamlit 프론트엔드
├── docs/                              # 문서
├── .github/                           # GitHub 설정
│   ├── workflows/                     # GitHub Actions
│   └── ISSUE_TEMPLATE/               # 이슈 템플릿
└── .cursor/rules/                     # 개발 정책

🛠️ 기술 스택

Backend

  • Language: Python 3.11
  • Framework: FastAPI
  • Agent: LangGraph (React Agent)
  • LLM: Gemini-2.5-flash-preview
  • Tools: DuckDuckGo Search

Frontend

  • Framework: Streamlit
  • Language: Python 3.11

DevOps

  • CI/CD: GitHub Actions
  • Code Quality: Black, isort, flake8
  • Security: Bandit, Safety
  • Testing: pytest, pytest-cov

🚀 빠른 시작

필수 요구사항

  • Python 3.11+
  • Git

설치

  1. 저장소 클론
git clone https://github.com/KR9268/vibe_coding_w2-2.git
cd vibe_coding_w2-2
  1. 가상환경 생성 및 활성화
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
  1. 의존성 설치
# Backend 의존성
pip install -r backend/requirements.txt

# Frontend 의존성 (해당시)
pip install -r frontend/requirements.txt
  1. 환경 변수 설정
cp .env.example .env
# .env 파일을 편집하여 필요한 환경 변수 설정

실행

  1. Backend 서버 실행
cd backend
uvicorn app.main:app --reload
  1. Frontend 실행
cd frontend
streamlit run main.py

🧪 테스트

# 전체 테스트 실행
cd backend
python -m pytest

# 커버리지 포함 테스트
python -m pytest --cov=app --cov-report=html

📋 개발 워크플로우

브랜치 전략

  • main: 프로덕션 브랜치
  • feature/기능명: 새로운 기능 개발
  • bugfix/버그명: 버그 수정
  • hotfix/핫픽스명: 긴급 수정

PR 프로세스

  1. 기능 브랜치 생성
  2. 개발 및 테스트
  3. PR 생성 (템플릿 활용)
  4. 자동 CI 실행
  5. 코드 리뷰
  6. Merge

🤖 자동화

GitHub Actions

  • CI: 테스트 자동 실행
  • PR 자동화: 댓글, 할당, 라벨링
  • 코드 리뷰: 자동 코드 분석
  • 이슈 관리: 자동 라벨링 및 할당

코드 품질

  • Linting: flake8, black, isort
  • Security: bandit, safety
  • Testing: pytest, coverage
  • Complexity: radon

📚 문서

🛡️ 보안

  • API 키 및 민감한 정보는 환경 변수로 관리
  • 의존성 보안 취약점 자동 검사
  • 코드 보안 취약점 자동 분석

🤝 기여하기

  1. 이슈를 생성하거나 기존 이슈를 선택
  2. 브랜치를 생성하여 작업
  3. 테스트 작성 및 실행
  4. PR 생성 (템플릿 활용)
  5. 코드 리뷰 및 피드백 반영
  6. Merge

코딩 컨벤션

  • PEP 8 준수
  • Black으로 코드 포매팅
  • isort로 import 정렬
  • Type hints 사용 권장

📞 지원

📄 라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다.


자동화된 개발 환경: 이 프로젝트는 GitHub Actions를 통한 자동화된 테스트, 코드 리뷰, 이슈 관리를 지원합니다.

About

AI 챗봇 프로젝트 - FastAPI + Streamlit 기반, LangGraph Agent 활용

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages