# Lichess Statistics API REST API сервис для получения статистики игроков Lichess.org по играм и решению задач. ## Возможности - Получение статистики за сегодняшний день - Получение статистики за вчерашний день - Получение статистики за последние 7 дней - Поддержка режимов игры: Bullet, Blitz, Rapid - Статистика по решению задач (пазлов) - Расчет изменения рейтинга - Подсчет побед, поражений и ничьих ## Запуск с Docker ### 1. Сборка и запуск контейнера ```bash # Сборка образа docker-compose build # Запуск сервиса docker-compose up -d ``` ### 2. Проверка работы Сервис будет доступен по адресу: http://localhost:8000 - Документация API: http://localhost:8000/docs - Проверка здоровья: http://localhost:8000/health ## API Endpoints ### Получить статистику за сегодня ``` GET /stats/{username}/today ``` ### Получить статистику за вчера ``` GET /stats/{username}/yesterday ``` ### Получить статистику за неделю ``` GET /stats/{username}/week ``` ## Примеры использования ### Статистика за сегодня ```bash curl http://localhost:8000/stats/vrubelroman/today ``` ### Статистика за вчера ```bash curl http://localhost:8000/stats/vrubelroman/yesterday ``` ### Статистика за неделю ```bash curl http://localhost:8000/stats/vrubelroman/week ``` ## Формат ответа ```json { "message": "Статистика за сегодняшний день", "data": { "username": "vrubelroman", "tasks": { "total": 28, "solved": 25, "unsolved": 3 }, "games": { "bullet": { "games_played": 7, "rating_change": 30, "final_rating": 2320, "wins": 5, "losses": 0, "draws": 0 }, "blitz": { "games_played": 5, "rating_change": 32, "final_rating": 2224, "wins": 5, "losses": 0, "draws": 0 }, "rapid": { "games_played": 2, "rating_change": -10, "final_rating": 2210, "wins": 1, "losses": 1, "draws": 0 } } } } ``` ## Остановка сервиса ```bash docker-compose down ``` ## Логи Для просмотра логов: ```bash docker-compose logs -f ```