FA3-Datafetch/start_app.sh
2026-01-13 18:16:52 +08:00

43 lines
990 B
Bash
Executable File

#!/bin/bash
# Function to kill background processes on exit
cleanup() {
echo "Stopping servers..."
kill $(jobs -p)
exit
}
trap cleanup SIGINT SIGTERM
echo "Starting Stock Analysis Web App..."
# 1. Start Backend
echo "Starting Backend (Port 8000)..."
if [ -d ".venv" ]; then
source .venv/bin/activate
fi
# Set PYTHONPATH to include project root
PROJECT_ROOT=$(pwd)
export PYTHONPATH=$PROJECT_ROOT:$PROJECT_ROOT/backend
# Run uvicorn in backend directory
(cd backend && env PYTHONPATH=$PROJECT_ROOT:$PROJECT_ROOT/backend ../.venv/bin/python -m uvicorn app.main:app --reload --port 8000) &
BACKEND_PID=$!
# Wait a moment for backend to initialize
sleep 2
# 2. Start Frontend
echo "Starting Frontend (Port 3001)..."
(cd frontend && npm run dev) &
FRONTEND_PID=$!
echo "App is running!"
echo "Backend: http://localhost:8000/docs"
echo "Frontend: http://localhost:3001"
echo "Press Ctrl+C to stop both servers."
# Wait for both processes
wait $BACKEND_PID $FRONTEND_PID