remove admin web panel (LichessWebView) from the project
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 43s
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 43s
Unused component that also carried several security issues (default admin credentials, hardcoded Flask secret key, debug mode, plaintext passwords). Cleaned up compose files, CI/CD pipeline, and docs accordingly; also dropped the stale IS_PROD config docs in favor of the current .env-based setup. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
1fe8deb0de
commit
75e62b57a1
15 changed files with 19 additions and 1256 deletions
66
README.md
66
README.md
|
|
@ -1,14 +1,13 @@
|
|||
# Lichess Statistics Ecosystem
|
||||
|
||||
Полнофункциональная система для отслеживания статистики игроков Lichess.org с Telegram ботом и веб-интерфейсом.
|
||||
Полнофункциональная система для отслеживания статистики игроков Lichess.org с Telegram ботом.
|
||||
|
||||
## 🎯 Описание проекта
|
||||
|
||||
Система состоит из трех взаимосвязанных компонентов:
|
||||
Система состоит из двух взаимосвязанных компонентов:
|
||||
|
||||
1. **LichessWebServices** - REST API для получения статистики игроков Lichess
|
||||
2. **LichessClientTG_bot** - Telegram бот для управления подписками и уведомлений
|
||||
3. **LichessWebView** - Веб-интерфейс для просмотра пользователей и их игроков
|
||||
|
||||
## 🏗️ Архитектура
|
||||
|
||||
|
|
@ -21,15 +20,13 @@
|
|||
│ │ (Управление подписками, уведомления) │ │
|
||||
│ └────────┬───────────────────────────────────────────┘ │
|
||||
│ │ │
|
||||
│ ├──────────────────────┐ │
|
||||
│ │ │ │
|
||||
│ ┌────────▼──────────┐ ┌──────▼──────────────┐ │
|
||||
│ │ LichessWebServices │ │ LichessWebView │ │
|
||||
│ │ │ │ │ │
|
||||
│ │ REST API для │ │ Веб-интерфейс │ │
|
||||
│ │ получения │ │ для просмотра │ │
|
||||
│ │ статистики │ │ пользователей │ │
|
||||
│ └────────┬───────────┘ └────────────────────┘ │
|
||||
│ ┌────────▼───────────┐ │
|
||||
│ │ LichessWebServices │ │
|
||||
│ │ │ │
|
||||
│ │ REST API для │ │
|
||||
│ │ получения │ │
|
||||
│ │ статистики │ │
|
||||
│ └────────┬────────────┘ │
|
||||
│ │ │
|
||||
└───────────┼──────────────────────────────────────────────┘
|
||||
│
|
||||
|
|
@ -59,7 +56,6 @@ cd LichessStatTgWeb
|
|||
После запуска доступны:
|
||||
|
||||
- **API документация**: http://localhost:8001/docs
|
||||
- **Веб-интерфейс**: http://localhost:5000
|
||||
- **Telegram бот**: работает в фоне
|
||||
|
||||
## 📦 Структура проекта
|
||||
|
|
@ -79,11 +75,6 @@ LichessStatTgWeb/
|
|||
│ ├── formatters.py # Форматирование ответов
|
||||
│ └── config.py # Конфигурация
|
||||
│
|
||||
├── LichessWebView/ # Веб-интерфейс
|
||||
│ ├── app.py # Flask приложение
|
||||
│ └── templates/ # HTML шаблоны
|
||||
│ └── index.html # Главная страница
|
||||
│
|
||||
├── docker-compose.yml # Общая конфигурация контейнеров
|
||||
├── start.sh # Скрипт запуска всех сервисов
|
||||
└── README.md # Этот файл
|
||||
|
|
@ -142,19 +133,6 @@ Telegram бот для управления отслеживанием игро
|
|||
|
||||
**Подробнее о боте:** см. [about.md](about.md)
|
||||
|
||||
### 3. LichessWebView (Веб-интерфейс)
|
||||
|
||||
Веб-интерфейс для просмотра пользователей и их игроков.
|
||||
|
||||
**Возможности:**
|
||||
- Просмотр всех пользователей бота
|
||||
- Фильтрация пользователей по имени/никнейму
|
||||
- Отображение игроков каждого пользователя
|
||||
- Статистика по каждому пользователю
|
||||
- Отображение активных игроков и периодов
|
||||
- Отображение языка пользователя (🇷🇺 ru / 🇬🇧 en)
|
||||
- Статистика пользователей с русским языком (количество и процент)
|
||||
|
||||
## 🗄️ База данных
|
||||
|
||||
Система использует SQLite базу данных с таблицами:
|
||||
|
|
@ -187,20 +165,15 @@ docker-compose down
|
|||
|
||||
### Telegram бот
|
||||
|
||||
Токены ботов настраиваются в `LichessClientTG_bot/config.py`:
|
||||
```python
|
||||
IS_PROD = False # True для продакшн, False для тестовых токенов
|
||||
|
||||
# Production токены (используются при IS_PROD = True)
|
||||
TELEGRAM_BOT_TOKEN_PROD = "YOUR_PROD_TOKEN"
|
||||
ADMINPANEL_TELEGRAM_BOT_TOKEN_PROD = "YOUR_ADMIN_PROD_TOKEN"
|
||||
|
||||
# Test токены (используются при IS_PROD = False)
|
||||
TELEGRAM_BOT_TOKEN_TEST = "YOUR_TEST_TOKEN"
|
||||
ADMINPANEL_TELEGRAM_BOT_TOKEN_TEST = "YOUR_ADMIN_TEST_TOKEN"
|
||||
Токены ботов задаются переменными окружения в `.env` (см. `.env.example`):
|
||||
```
|
||||
TELEGRAM_BOT_TOKEN=YOUR_BOT_TOKEN
|
||||
ADMINPANEL_TELEGRAM_BOT_TOKEN=YOUR_ADMIN_BOT_TOKEN
|
||||
```
|
||||
|
||||
Система автоматически выбирает нужные токены в зависимости от значения `IS_PROD`.
|
||||
`LichessClientTG_bot/config.py` читает их через `os.getenv(...)`. Разделение на тестовый и
|
||||
продакшн стенды обеспечивается не флагом в коде, а раздельными `.env` на каждом окружении:
|
||||
на локальном/тестовом стенде — тестовые токены, на проде — свои, боевые.
|
||||
|
||||
### Lichess API
|
||||
|
||||
|
|
@ -231,10 +204,6 @@ docker-compose up -d
|
|||
# Telegram бот
|
||||
cd LichessClientTG_bot
|
||||
docker-compose up -d
|
||||
|
||||
# Веб-интерфейс
|
||||
cd LichessWebView
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Логи
|
||||
|
|
@ -245,9 +214,6 @@ docker logs lichesswebservices_lichess-api_1 -f
|
|||
|
||||
# Логи бота
|
||||
docker logs lichess-telegram-bot -f
|
||||
|
||||
# Логи веб-интерфейса
|
||||
docker logs lichess-web-view -f
|
||||
```
|
||||
|
||||
## 📝 Лицензия
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue