#!/bin/bash # Farben für die Ausgabe GREEN='\033[0;32m' BLUE='\033[0;34m' NC='\033[0m' # No Color echo -e "${GREEN}Data Platform - Multi-Agent Service${NC}" echo -e "${BLUE}Startskript für Frontend und Backend${NC}" echo "----------------------------------------" # Verzeichnisstruktur erstellen, falls sie nicht existiert mkdir -p backend/data mkdir -p backend/uploads mkdir -p backend/results mkdir -p backend/static # Prüfen, ob Python installiert ist if command -v python3 &>/dev/null; then PYTHON_CMD="python3" elif command -v python &>/dev/null; then PYTHON_CMD="python" else echo "Python ist nicht installiert. Bitte installieren Sie Python 3.8 oder höher." exit 1 fi # Virtuelle Umgebung erstellen, falls sie nicht existiert if [ ! -d "backend/venv" ]; then echo "Erstelle virtuelle Python-Umgebung..." cd backend $PYTHON_CMD -m venv venv cd .. fi # Virtuelle Umgebung aktivieren echo "Aktiviere virtuelle Umgebung..." source backend/venv/bin/activate 2>/dev/null || . backend/venv/bin/activate # Abhängigkeiten installieren echo "Installiere Abhängigkeiten..." pip install -r requirements.txt # Backend als Hintergrundprozess starten echo "Starte Backend-Server..." cd backend uvicorn app:app --reload --host 0.0.0.0 --port 8000 & BACKEND_PID=$! cd .. # Kurz warten, um sicherzustellen, dass das Backend startet sleep 2 # Frontend-Server starten echo "Starte Frontend-Server..." cd frontend $PYTHON_CMD -m http.server 8080 & FRONTEND_PID=$! cd .. echo "----------------------------------------" echo -e "${GREEN}Server wurden gestartet!${NC}" echo "Frontend läuft auf: http://localhost:8080" echo "Backend API läuft auf: http://localhost:8000" echo "API-Dokumentation: http://localhost:8000/docs" echo -e "${BLUE}Drücke STRG+C, um beide Server zu beenden${NC}" # Funktion zum Beenden der Server bei STRG+C cleanup() { echo -e "\n${GREEN}Beende Server...${NC}" kill $BACKEND_PID kill $FRONTEND_PID echo "Server wurden beendet" exit 0 } # Signal-Handler für STRG+C trap cleanup SIGINT # Warten auf Benutzeraktion wait