#!/bin/bash

echo "Starting Nixon KPI Stats Development Environment..."

# Check if virtual environment exists
if [ ! -d "backend/venv" ]; then
    echo "Creating Python virtual environment..."
    cd backend
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    cd ..
else
    echo "Virtual environment found"
fi

if [ ! -f ".env" ]; then
    echo "Warning: .env not found. Copy .env.example to .env and configure."
    echo "   Continuing with startup..."
fi

# Start Django backend in background (reads DATABASE_URL from repo root .env)
echo "🐍 Starting Django backend on port 8000..."
(./venv/bin/python backend/manage.py runserver 0.0.0.0:8000) &
BACKEND_PID=$!

sleep 2

# Start React frontend in background
echo "Starting React frontend on port 3000..."
npm run frontend:dev &
FRONTEND_PID=$!

echo ""
echo "Both servers started!"
echo "   - Backend API: http://localhost:8000"
echo "   - Django Admin: http://localhost:8000/admin"
echo "   - Frontend: http://localhost:3000"
echo ""
echo "Press Ctrl+C to stop both servers"

# Function to cleanup on exit
cleanup() {
    echo ""
    echo "🛑 Shutting down servers..."
    kill $BACKEND_PID 2>/dev/null
    kill $FRONTEND_PID 2>/dev/null
    echo "✅ Servers stopped"
    exit 0
}

# Trap Ctrl+C and call cleanup
trap cleanup INT TERM

# Wait for processes
wait

