Spaces:
Sleeping
Sleeping
| # Script to run the full stack locally for testing | |
| # Starts the backend Flask server and the frontend Gradio app | |
| set -e | |
| # Get absolute paths | |
| SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | |
| PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")" | |
| BACKEND_DIR="$PROJECT_ROOT/backend" | |
| FRONTEND_DIR="$PROJECT_ROOT/frontend_gradio" | |
| echo "==================================================" | |
| echo "π Starting Local Integration Test Stack" | |
| echo "==================================================" | |
| echo "π Project Root: $PROJECT_ROOT" | |
| echo "" | |
| # Check python virtual environment | |
| if [ -z "$VIRTUAL_ENV" ]; then | |
| echo "β οΈ No virtual environment active." | |
| echo " Activating default venv if it exists..." | |
| if [ -f "$PROJECT_ROOT/.venv/bin/activate" ]; then | |
| source "$PROJECT_ROOT/.venv/bin/activate" | |
| echo "β Activated .venv" | |
| else | |
| echo "β Error: Please activate your virtual environment first." | |
| exit 1 | |
| fi | |
| fi | |
| # Ensure Flask and Flask-CORS are installed | |
| if ! python3 -c "import flask, flask_cors" 2>/dev/null; then | |
| echo "π¦ Installing flask and flask-cors..." | |
| pip3 install flask flask-cors | |
| fi | |
| echo "" | |
| echo "1οΈβ£ Starting Backend Server (localhost:5000)..." | |
| # Start backend in background and save PID | |
| cd "$BACKEND_DIR" | |
| python3 testing/lambda_server.py & | |
| BACKEND_PID=$! | |
| echo " PID: $BACKEND_PID" | |
| # Function to kill backend on exit | |
| cleanup() { | |
| echo "" | |
| echo "π Shutting down backend server (PID: $BACKEND_PID)..." | |
| kill $BACKEND_PID | |
| echo "β Done" | |
| } | |
| trap cleanup EXIT | |
| # Wait for backend to start | |
| echo " Waiting for backend..." | |
| sleep 2 | |
| echo "" | |
| echo "2οΈβ£ Starting Frontend (Gradio)..." | |
| echo " Pointing to local API: http://localhost:5000/chat" | |
| echo "" | |
| # Clean up temp environment variable after running | |
| cd "$FRONTEND_DIR" | |
| export API_ENDPOINT="http://localhost:5000" | |
| python3 app.py | |