90 lines
2.9 KiB
Makefile
90 lines
2.9 KiB
Makefile
# Q-Table 협상 전략 데모 Makefile
|
|
|
|
.PHONY: help install run-api run-frontend run-both test clean docker-build docker-run
|
|
|
|
help: ## 도움말 표시
|
|
@echo "사용 가능한 명령어:"
|
|
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
|
|
|
install: ## 의존성 설치
|
|
@echo "🔧 의존성을 설치합니다..."
|
|
@if command -v poetry >/dev/null 2>&1; then \
|
|
poetry install; \
|
|
else \
|
|
pip install -r requirements.txt; \
|
|
fi
|
|
|
|
run-api: ## API 서버 실행
|
|
@echo "🚀 API 서버를 시작합니다..."
|
|
python run_api.py
|
|
|
|
run-frontend: ## 프론트엔드 실행
|
|
@echo "🎯 프론트엔드를 시작합니다..."
|
|
python run_frontend.py
|
|
|
|
run-both: ## API와 프론트엔드 동시 실행
|
|
@echo "🚀 전체 시스템을 시작합니다..."
|
|
python run_both.py
|
|
|
|
test: ## 테스트 실행
|
|
@echo "🧪 테스트를 실행합니다..."
|
|
@if command -v poetry >/dev/null 2>&1; then \
|
|
poetry run pytest tests/ -v; \
|
|
else \
|
|
pytest tests/ -v; \
|
|
fi
|
|
|
|
clean: ## 캐시 및 임시 파일 정리
|
|
@echo "🧹 정리 작업을 수행합니다..."
|
|
find . -type f -name "*.pyc" -delete
|
|
find . -type d -name "__pycache__" -delete
|
|
find . -type d -name ".pytest_cache" -exec rm -rf {} +
|
|
find . -type d -name "*.egg-info" -exec rm -rf {} +
|
|
|
|
docker-build: ## Docker 이미지 빌드
|
|
@echo "🐳 Docker 이미지를 빌드합니다..."
|
|
docker-compose build
|
|
|
|
docker-run: ## Docker로 실행
|
|
@echo "🐳 Docker로 시스템을 시작합니다..."
|
|
docker-compose up
|
|
|
|
docker-stop: ## Docker 컨테이너 중지
|
|
@echo "🛑 Docker 컨테이너를 중지합니다..."
|
|
docker-compose down
|
|
|
|
format: ## 코드 포맷팅
|
|
@echo "✨ 코드를 포맷팅합니다..."
|
|
@if command -v poetry >/dev/null 2>&1; then \
|
|
poetry run black app/ frontend/ tests/; \
|
|
else \
|
|
black app/ frontend/ tests/; \
|
|
fi
|
|
|
|
lint: ## 코드 린팅
|
|
@echo "🔍 코드를 검사합니다..."
|
|
@if command -v poetry >/dev/null 2>&1; then \
|
|
poetry run flake8 app/ frontend/ tests/; \
|
|
else \
|
|
flake8 app/ frontend/ tests/; \
|
|
fi
|
|
|
|
setup-dev: ## 개발 환경 설정
|
|
@echo "🔧 개발 환경을 설정합니다..."
|
|
cp .env.example .env
|
|
@echo "✅ .env 파일이 생성되었습니다. 필요에 따라 수정해주세요."
|
|
|
|
demo: ## 데모 데이터 생성
|
|
@echo "🎲 데모 데이터를 생성합니다..."
|
|
@echo "API 서버가 실행 중이어야 합니다."
|
|
curl -X POST "http://localhost:8000/api/v1/episodes/generate" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"num_episodes": 10, "max_steps": 8, "anchor_price": 100, "exploration_rate": 0.4}'
|
|
|
|
status: ## 시스템 상태 확인
|
|
@echo "📊 시스템 상태를 확인합니다..."
|
|
@echo "API 서버 상태:"
|
|
@curl -s http://localhost:8000/api/v1/health || echo "API 서버가 실행되지 않습니다."
|
|
@echo "\n프론트엔드 상태:"
|
|
@curl -s http://localhost:8501 >/dev/null && echo "프론트엔드가 실행 중입니다." || echo "프론트엔드가 실행되지 않습니다."
|