LichessStatTgWeb/LichessWebServices/README.md

122 lines
2.7 KiB
Markdown
Raw Normal View History

# 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
```