- Объединены три проекта в один репозиторий - LichessWebServices - REST API для статистики - LichessClientTG_bot - Telegram бот с поддержкой множества пользователей - LichessWebView - Веб-интерфейс для просмотра пользователей и игроков - Добавлен общий docker-compose.yml для запуска всех сервисов - Добавлен скрипт start.sh для удобного запуска - Добавлен README с полным описанием проекта
121 lines
2.7 KiB
Markdown
121 lines
2.7 KiB
Markdown
# 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
|
||
```
|