#!/bin/bash # Единый скрипт запуска AI Code Review Platform set -e echo "🚀 AI Code Review Platform - Запуск" echo "====================================" echo "" # Цвета для вывода GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 1. Проверка Node.js echo -e "${YELLOW}📦 Проверка Node.js...${NC}" if ! command -v node &> /dev/null; then echo "❌ Node.js не установлен! Установите Node.js 18+ и попробуйте снова." exit 1 fi echo -e "${GREEN}✅ Node.js $(node --version)${NC}" echo "" # 2. Проверка Python echo -e "${YELLOW}🐍 Проверка Python...${NC}" if ! command -v python &> /dev/null && ! command -v python3 &> /dev/null; then echo "❌ Python не установлен! Установите Python 3.10+ и попробуйте снова." exit 1 fi PYTHON_CMD="python3" if ! command -v python3 &> /dev/null; then PYTHON_CMD="python" fi echo -e "${GREEN}✅ Python $($PYTHON_CMD --version)${NC}" echo "" # 3. Установка зависимостей frontend echo -e "${YELLOW}📦 Установка зависимостей frontend...${NC}" cd frontend if [ ! -d "node_modules" ]; then npm install else echo "node_modules уже существует, пропускаем..." fi echo -e "${GREEN}✅ Зависимости frontend установлены${NC}" echo "" # 4. Сборка frontend echo -e "${YELLOW}🔨 Сборка frontend...${NC}" # Создаем .env.production для production cat > .env.production << 'EOF' VITE_API_URL=/api VITE_WS_URL= EOF npm run build echo -e "${GREEN}✅ Frontend собран в backend/public${NC}" echo "" # 5. Установка зависимостей backend cd ../backend echo -e "${YELLOW}📦 Установка зависимостей backend...${NC}" if [ ! -d "venv" ]; then echo "Создание виртуального окружения..." $PYTHON_CMD -m venv venv fi # Активация venv source venv/bin/activate # Установка зависимостей pip install -r requirements.txt echo -e "${GREEN}✅ Зависимости backend установлены${NC}" echo "" # 6. Проверка .env if [ ! -f ".env" ]; then echo -e "${YELLOW}⚠️ Файл .env не найден!${NC}" echo "Создаем .env из примера..." if [ -f ".env.example" ]; then cp .env.example .env echo -e "${GREEN}✅ Создан .env файл${NC}" echo -e "${YELLOW}⚠️ ВАЖНО: Отредактируйте .env и добавьте необходимые токены!${NC}" else echo "❌ .env.example не найден!" fi echo "" fi # 7. Запуск backend echo -e "${GREEN}🎉 Запуск сервера...${NC}" echo "====================================" echo "" echo "📍 Backend: http://localhost:8000" echo "📍 Frontend: http://localhost:8000" echo "📍 API Docs: http://localhost:8000/docs" echo "" echo "Для остановки нажмите Ctrl+C" echo "" uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload