Files
Team-status-board/start.sh

99 lines
2.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
set -e
echo "🚀 Team Status Board - Запуск приложения"
echo "========================================="
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
# Функция проверки наличия команды
command_exists() {
command -v "$1" >/dev/null 2>&1
}
# Определение команды Python
PYTHON_CMD="python3"
if ! command_exists python3; then
if command_exists py; then
PYTHON_CMD="py"
else
echo "❌ Python не найден. Установите Python 3.8+"
exit 1
fi
fi
echo "✓ Python найден: $($PYTHON_CMD --version)"
# Проверка Node.js
if ! command_exists node; then
echo "❌ Node.js не найден. Установите Node.js 18+"
exit 1
fi
echo "✓ Node.js найден: $(node --version)"
# Создание и активация venv для бэкенда
if [ ! -d "backend/venv" ]; then
echo "📦 Создание виртуального окружения Python..."
$PYTHON_CMD -m venv backend/venv
fi
echo "✓ Виртуальное окружение готово"
# Активация venv (разные способы для Linux/WSL и Windows)
if [ -f "backend/venv/bin/activate" ]; then
source backend/venv/bin/activate
elif [ -f "backend/venv/Scripts/activate" ]; then
source backend/venv/Scripts/activate
else
echo "❌ Не найдено окружение venv"
exit 1
fi
# Установка зависимостей Python
echo "📦 Установка Python зависимостей..."
pip install --quiet -r backend/requirements.txt
echo "✓ Python зависимости установлены"
# Установка зависимостей Node.js
echo "📦 Установка Node.js зависимостей..."
cd frontend
if [ ! -d "node_modules" ]; then
npm install --silent
fi
echo "✓ Node.js зависимости установлены"
cd ..
# Запуск бэкенда в фоне
echo "🔙 Запуск бэкенда (FastAPI)..."
cd backend
$PYTHON_CMD main.py &
BACKEND_PID=$!
cd ..
# Ожидание запуска бэкенда
echo "⏳ Ожидание запуска бэкенда..."
sleep 3
# Запуск фронтенда
echo "🎨 Запуск фронтенда (React + Vite)..."
cd frontend
npm run dev &
FRONTEND_PID=$!
cd ..
echo ""
echo "========================================="
echo "✅ Приложение запущено!"
echo ""
echo "Бэкенд API: http://localhost:8000"
echo "Frontend: http://localhost:3000"
echo ""
echo "PID бэкенда: $BACKEND_PID"
echo "PID фронтенда: $FRONTEND_PID"
echo ""
echo "Для остановки нажмите Ctrl+C"
echo "========================================="
# Ожидание завершения
wait