#!/bin/sh


# Function to clean up background processes on script exit
cleanup() {
  echo "[DPS] Cleaning up..."
  pkill $backend_pid # pkill because subshells
  pkill $frontend_pid
  echo "[DPS] Cleaned up..."
  exit
}

# Trap SIGINT (Ctrl+C)
trap cleanup SIGINT
echo "[DPS] trapped"

cd ./00-backend
( java -jar target/webshop-0.0.1-SNAPSHOT.jar 2>&1 | tee ../backend_latest.log ) &
backend_pid=$!
echo "[DPS] Backend started with PID $backend_pid"

cd ../01-frontend
( npm start 2>&1 | tee ../frontend_latest.log ) &
frontend_pid=$!
echo "[DPS] Frontend started with PID $frontend_pid"

echo "[DPS] Ctrl+C to stop"
# Wait indefinitely; cleanup will handle interruption
wait
