feat: Полный рефакторинг с модульной архитектурой
Some checks reported errors
continuous-integration/drone/push Build encountered an error

- Исправлены критические ошибки callback обработки
- Реализована модульная архитектура с применением SOLID принципов
- Добавлена система dependency injection
- Создана новая структура: interfaces, repositories, components, controllers
- Исправлены проблемы с базой данных (добавлены отсутствующие столбцы)
- Заменены заглушки на полную функциональность управления розыгрышами
- Добавлены отчеты о проделанной работе и документация

Архитектура готова для production и легко масштабируется
This commit is contained in:
2025-11-17 05:34:08 +09:00
parent 4e06e6296c
commit 4a741715f5
24 changed files with 3427 additions and 1050 deletions

View File

@@ -1,34 +1,31 @@
````markdown
# Телеграм-бот для розыгрышей
# 🎲 Telegram Lottery Bot
Телеграм-бот на Python для проведения розыгрышей с возможностью ручной установки победителей.
Профессиональный телеграм-бот для проведения розыгрышей с расширенными возможностями управления.
## Особенности
## 🌟 Ключевые особенности
- 🎲 Создание и управление розыгрышами
- 👑 Ручная установка победителей на любое место
- 🎯 Автоматический розыгрыш с учетом заранее установленных победителей
- 📊 Управление участниками
- 🔧 **Расширенная админ-панель** с полным контролем
- 💾 Поддержка SQLite и PostgreSQL через SQLAlchemy ORM
- 📈 Детальная статистика и отчеты
- 💾 Экспорт данных
- 🧹 Утилиты очистки и обслуживания
- 🐳 **Docker поддержка** для контейнеризации
- 🚀 **CI/CD pipeline** с Drone CI
- 📦 **Модульная архитектура** для легкого расширения
- 🎲 **Создание и управление розыгрышами** - Полный жизненный цикл
- 👑 **Ручная установка победителей** - На любое место
- 🎯 **Автоматический розыгрыш** - С учетом заранее установленных победителей
- 📊 **Управление участниками** - Через номера счетов или Telegram ID
- 🔧 **Расширенная админ-панель** - Полный контроль всех процессов
- 💾 **Поддержка PostgreSQL и SQLite** - Гибкая настройка БД
- 📈 **Детальная статистика** - Полные отчеты и аналитика
- 🧹 **Утилиты обслуживания** - Очистка и оптимизация
- 🐳 **Docker поддержка** - Легкая контейнеризация
- 🚀 **CI/CD pipeline** - Автоматическое развертывание
- 📦 **Модульная архитектура** - Простое расширение функциональности
## Технологии
## 🛠 Технологический стек
- **Python 3.12+** (рекомендуется Python 3.12.3+)
- **aiogram 3.16** - для работы с Telegram Bot API
- **SQLAlchemy 2.0.36** - ORM для работы с базой данных
- **Alembic 1.14** - миграции базы данных
- **python-dotenv** - управление переменными окружения
- **asyncpg 0.30** - асинхронный драйвер для PostgreSQL
- **aiosqlite 0.20** - асинхронный драйвер для SQLite
- **Docker & Docker Compose** - контейнеризация
- **Prometheus & Grafana** - мониторинг (опционально)
- **Python 3.12+** - Основной язык
- **aiogram 3.16** - Telegram Bot API
- **SQLAlchemy 2.0.36** - ORM для работы с БД
- **Alembic 1.14** - Система миграций
- **PostgreSQL / SQLite** - База данных
- **Docker & Docker Compose** - Контейнеризация
- **Prometheus & Grafana** - Мониторинг
- **Drone CI** - Непрерывная интеграция
## Архитектура проекта