#!/bin/bash

echo "============================================"
echo "WACE 솔루션 - npm 직접 실행 (Docker 없이)"
echo "============================================"
echo ""

PROJECT_ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
LOG_DIR="$PROJECT_ROOT/scripts/dev/logs"
mkdir -p "$LOG_DIR"

BACKEND_LOG="$LOG_DIR/backend.log"
FRONTEND_LOG="$LOG_DIR/frontend.log"

# 기존 프로세스 정리
echo "[1/4] 기존 프로세스 정리 중..."
lsof -ti:8080 | xargs kill -9 2>/dev/null
lsof -ti:9771 | xargs kill -9 2>/dev/null
echo "  완료"
echo ""

# 백엔드 npm install + 실행
echo "[2/4] 백엔드 의존성 설치 중..."
cd "$PROJECT_ROOT/backend-node"
npm install --silent
echo "  완료"
echo ""

echo "[3/4] 백엔드 서버 시작 중 (포트 8080)..."
npm run dev > "$BACKEND_LOG" 2>&1 &
BACKEND_PID=$!
echo "  PID: $BACKEND_PID"
echo ""

# 프론트엔드 npm install + 실행
echo "[4/4] 프론트엔드 의존성 설치 + 서버 시작 중 (포트 9771)..."
cd "$PROJECT_ROOT/frontend"
npm install --silent
npm run dev > "$FRONTEND_LOG" 2>&1 &
FRONTEND_PID=$!
echo "  PID: $FRONTEND_PID"
echo ""

sleep 3

echo "============================================"
echo "모든 서비스가 시작되었습니다!"
echo "============================================"
echo ""
echo "  [BACKEND]  http://localhost:8080/api"
echo "  [FRONTEND] http://localhost:9771"
echo ""
echo "  백엔드 PID:   $BACKEND_PID"
echo "  프론트엔드 PID: $FRONTEND_PID"
echo ""
echo "  프론트엔드 로그: tail -f $FRONTEND_LOG"
echo ""
echo "Ctrl+C 로 종료하면 백엔드/프론트엔드 모두 종료됩니다."
echo "============================================"
echo ""
echo "--- 백엔드 로그 출력 시작 ---"
echo ""

trap "echo ''; echo '서비스를 종료합니다...'; kill $BACKEND_PID $FRONTEND_PID 2>/dev/null; exit 0" SIGINT SIGTERM

tail -f "$BACKEND_LOG"
