39 lines
828 B
Bash
Executable File
39 lines
828 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Voice Guide — start backend + frontend
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")" && pwd)"
|
|
REGISTRY_ROOT="$(cd "$ROOT/../.." && pwd)"
|
|
|
|
echo "=== Voice Guide ==="
|
|
echo "Backend: http://localhost:8787"
|
|
echo "Frontend: http://localhost:5188"
|
|
echo ""
|
|
|
|
# Backend
|
|
echo "[1/2] Starting backend..."
|
|
cd "$ROOT/backend"
|
|
if [ ! -d ".venv" ]; then
|
|
uv venv .venv
|
|
uv pip install -r requirements.txt
|
|
fi
|
|
.venv/bin/uvicorn main:app --host 0.0.0.0 --port 8787 --reload &
|
|
BACKEND_PID=$!
|
|
|
|
# Frontend
|
|
echo "[2/2] Starting frontend..."
|
|
cd "$ROOT/frontend"
|
|
if [ ! -d "node_modules" ]; then
|
|
pnpm install
|
|
fi
|
|
pnpm dev &
|
|
FRONTEND_PID=$!
|
|
|
|
echo ""
|
|
echo "Backend PID: $BACKEND_PID"
|
|
echo "Frontend PID: $FRONTEND_PID"
|
|
echo "Press Ctrl+C to stop both."
|
|
|
|
trap "kill $BACKEND_PID $FRONTEND_PID 2>/dev/null; exit" INT TERM
|
|
wait
|