Даниил
Опыт обширный, пару примеров:
Разработка масштабируемой платформы для live-ставок, поддерживающей десятки тысяч одновременных пользователей и работу с десятками спортивных провайдеров (data feeds, odds API). Основные задачи: Подключение к нескольким провайдерам odds через WebSocket. Kafka использовалась как брокер между ingestion-сервисом и backend-API — гарантированная доставка событий ставок.Преобразование и запись коэффициентов в TimescaleDB — партиционирование по типу спорта и времени. С FastAPI погстроение REST архитектуры и WebSocket API для пользователей: создание ставок, история операций, live-обновления. Обработка bet-slip с применением бизнес-логики и проверки лимитов ставок. Работа с Celery для асинхронной обработки расчётов выигрышей после завершения матчей. На React UI панели игрока и live-матчи, коэффициенты обновляются в реальном времени (через WebSocket). Визуализация истории ставок и баланса через Chart.js. JWT авторизация с рефрешами и локальным хранением токена (httpOnly). С TimescaleDB хранение и агрегация данных ставок и баланса по дням/часам/минутам. Расчёты RTP (Return to Player), WinRate, количество активных пользователей в срезах времени. Pandas использовался для генерации PDF и CSV отчетов для аналитиков и анализа больших объемов данных. Безопасность была с JWT-based RBAC, защита API эндпоинтов, Kafka события использовались для мониторинга активности пользователей и обнаружения подозрительных действий.
Использовал FastAPI для асинхронной работы с фронтендом (React) и мобильными приложениями для реализации микросервисов. Flask — для лёгких микросервисов и обработки данных. Разработка REST и WebSocket API для интеграции с игровыми провайдерами и внешними платформами (платежные системы, CRM, KYC и др). Создание системы очередей (Celery, Redis) для обработки транзакций, расчета коэффициентов и бонусной логики. Внедрение FastAPI для высокопроизводительных endpoints и сокращения времени отклика.
Оптимизация запросов и схемы БД для анализа пользовательской активности и поведения в реальном времени. Использование TimescaleDB для хранения и агрегации временных рядов данных (ставки, выигрыши, события). Построение аналитических модулей для отображения KPI: удержание, ARPU, вовлеченность, средняя ставка.
Интеграция с Chart.js через React для визуализации данных на фронте в виде интерактивных графиков и дашбордов. Разработка кастомных отчётов и экспорта в Excel/CSV с использованием Pandas и Jinja2 шаблонов. Разработка UI для игроков и админов: история ставок, live-коэффициенты, управление бонусами. Использование Redux и WebSocket для real-time обновлений интерфейса. Интеграция Chart.js, D3 и других библиотек визуализации в пользовательские панели мониторинга. CI/CD пайплайны (GitHub Actions, GitLab CI). Docker и Kubernetes для изоляции сервисов. Мониторинг и логирование (Prometheus, Grafana, Sentry, ELK стек).
Реализовывал полноценную систему регистрации и входа в систему на клиенте (React) с использованием JWT для безопасной авторизации. Настроена двухэтапная авторизация (email/OTP), с поддержкой refresh/access токенов и автообновлением сессии. Использован Apache Kafka для обработки событий аутентификации (вход, выход, попытки взлома, сброс пароля) — события асинхронно логируются и обрабатываются микросервисами аудита и безопасности. Разработана система управления правами доступа (RBAC) на фронте и бэке — разделение ролей (игрок, админ, оператор). Обеспечена защита API через middleware проверки JWT и ограничение доступа к критичным эндпоинтам.