Primakov Alexandr Alexandrovich b297bcbba9 Add deployment documentation and enhance project setup scripts
- Introduced `DEPLOYMENT.md` for comprehensive deployment instructions.
- Added `start.bat` and `start.sh` scripts for unified project startup on Windows and Linux/Mac.
- Updated `.gitignore` to exclude additional files and directories.
- Enhanced `main.py` to serve static frontend files and handle SPA routing.
- Configured Vite to output the frontend build to the backend public directory.
- Minor adjustments in `ReviewDetail.tsx` for improved data handling.
2025-10-12 23:27:41 +03:00

98 lines
3.0 KiB
Bash

#!/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}"
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