NoobNovel's picture
HF Space deployment: Attention Visualizer (FastAPI + React)
4e8e113
#!/usr/bin/env bash
# start.sh β€” One-shot launcher for Attention Visualizer
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
BACKEND="$ROOT/backend"
FRONTEND="$ROOT/frontend"
echo ""
echo "🧠 Attention Visualizer β€” Setup & Launch"
echo "════════════════════════════════════════"
# ── Backend ────────────────────────────────────────────────────────────────
echo ""
echo "πŸ“¦ Installing backend dependencies…"
pip install -q -r "$BACKEND/requirements.txt"
echo "βœ… Backend deps installed."
# ── Frontend ───────────────────────────────────────────────────────────────
echo ""
echo "πŸ“¦ Installing frontend dependencies…"
cd "$FRONTEND"
npm install --silent
echo "βœ… Frontend deps installed."
# ── Start FastAPI backend ──────────────────────────────────────────────────
echo ""
echo "πŸš€ Starting FastAPI backend on http://localhost:8000 …"
cd "$BACKEND"
uvicorn main:app --reload --host 0.0.0.0 --port 8000 &
BACKEND_PID=$!
echo " Backend PID: $BACKEND_PID"
# ── Start Vite dev server ──────────────────────────────────────────────────
echo ""
echo "🎨 Starting Vite dev server on http://localhost:5173 …"
cd "$FRONTEND"
npm run dev &
FRONTEND_PID=$!
echo " Frontend PID: $FRONTEND_PID"
echo ""
echo "════════════════════════════════════════"
echo "✨ App running!"
echo " Frontend: http://localhost:5173"
echo " API docs: http://localhost:8000/docs"
echo ""
echo "Press Ctrl+C to stop both servers."
echo "════════════════════════════════════════"
# Wait for either process to exit
wait $BACKEND_PID $FRONTEND_PID