37 lines
822 B
Bash
37 lines
822 B
Bash
#!/usr/bin/env bash
|
|
# Launch req-planner: backend (FastAPI) + frontend (Angular)
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
cleanup() {
|
|
echo "Shutting down..."
|
|
kill $BACKEND_PID $FRONTEND_PID 2>/dev/null
|
|
wait $BACKEND_PID $FRONTEND_PID 2>/dev/null
|
|
exit 0
|
|
}
|
|
trap cleanup SIGINT SIGTERM
|
|
|
|
echo "Starting backend on http://localhost:8100 ..."
|
|
cd backend
|
|
.venv/Scripts/python -m uvicorn app.main:app --reload --port 8100 &
|
|
BACKEND_PID=$!
|
|
cd "$SCRIPT_DIR"
|
|
|
|
echo "Starting frontend on http://localhost:4200 ..."
|
|
cd frontend
|
|
npx ng serve &
|
|
FRONTEND_PID=$!
|
|
cd "$SCRIPT_DIR"
|
|
|
|
echo ""
|
|
echo "req-planner running:"
|
|
echo " Frontend: http://localhost:4200"
|
|
echo " Backend: http://localhost:8100"
|
|
echo " API docs: http://localhost:8100/docs"
|
|
echo ""
|
|
echo "Press Ctrl+C to stop both services."
|
|
|
|
wait
|