FastAPI бэкенд для получения статистики игроков War Thunder.
- Получение статистики игроков
- Топ игроков
- Сравнение игроков
- Кэширование данных
- Поддержка регионов (en, ru, de, fr)
- CORS для фронтенда
- Установите зависимости:
pip install -r requirements.txt- Запустите сервер:
uvicorn main:app --reload --host 0.0.0.0 --port 8000- Откройте http://localhost:8000/docs для документации API
docker build -t warstats-backend .
docker run -p 8000:8000 warstats-backend- Создайте аккаунт на Render
- Подключите ваш GitHub репозиторий
- Создайте новый Web Service
- Выберите репозиторий и папку
backend - Настройте:
- Build Command:
pip install -r requirements.txt - Start Command:
uvicorn main:app --host 0.0.0.0 --port $PORT - Environment: Python 3.11
- Build Command:
- Создайте аккаунт на Railway
- Подключите GitHub репозиторий
- Выберите папку
backend - Railway автоматически определит Python проект
- Создайте аккаунт на Heroku
- Установите Heroku CLI
- Выполните команды:
heroku create your-app-name
git subtree push --prefix backend heroku mainПолучение статистики игрока
Параметры:
username(path): Имя игрокаregion(query): Регион (en, ru, de, fr)
Пример:
GET /player/PlayerName?region=en
Получение топ игроков
Параметры:
region(query): Регион (en, ru, de, fr)limit(query): Количество игроков (1-1000)
Пример:
GET /top?region=en&limit=100
Сравнение двух игроков
Параметры:
player1(query): Первый игрокplayer2(query): Второй игрокregion(query): Регион (en, ru, de, fr)
Пример:
GET /compare?player1=Player1&player2=Player2®ion=en
Создайте файл .env на основе env.example:
cp env.example .envНастройте переменные окружения:
API_HOST: Хост для запуска (по умолчанию: 0.0.0.0)API_PORT: Порт (по умолчанию: 8000)DEBUG: Режим отладки (true/false)ALLOWED_ORIGINS: Разрешенные домены для CORSCACHE_DURATION: Время кэширования в секундахREDIS_URL: URL Redis для кэширования
backend/
├── main.py # Основной файл FastAPI
├── requirements.txt # Python зависимости
├── Dockerfile # Docker конфигурация
├── env.example # Пример конфигурации
└── README.md # Документация
После развертывания бэкенда обновите URL API в фронтенде:
- Откройте
app.jsв корне проекта - Найдите строку с
API_BASE_URL - Замените на URL вашего бэкенда:
const API_BASE_URL = 'https://your-backend-url.onrender.com';- Health Check:
GET /health - API Documentation:
GET /docs(Swagger UI) - ReDoc:
GET /redoc
Логи выводятся в stdout/stderr для совместимости с облачными платформами.
При возникновении проблем:
- Проверьте логи в консоли развертывания
- Убедитесь, что все зависимости установлены
- Проверьте конфигурацию CORS
- Убедитесь, что порт настроен правильно