Данный проект представляет собой интеграцию принципов чистой архитектуры в проект с чат-ботом, основанным в мессенджере Телеграм.
Сам бот является простым. Основная его цель - получить файл с электронной версией книги, которая присутствует в базе данных. Технически, вместо базы данных можно использовать объектное хранилище (S3) на ваше усмотрение.
- Язык программирования: Python 3.11+
- База данных: PostgreSQL
- Контейнеризация: Docker
- Фреймворк для работы с Телеграм: aiogram 3.13.1
- Драйвер для PostgreSQL: Psycopg + Asyncpg
- Фреймворк для внедрения зависимостей: Dishka
- Клонируйте репозиторий:
git clone https://github.com/iNTENSY/aiogram-bot.git
- Запустите Docker в вашей системе:
sudo systemctl start docker
- Установите файл с переменными окружения (
.env
) в каталоге./doker
.
Для примера используемых переменных окружения обратитесь в файл.env.production.example
- Перейдите в каталог с конфигурационными файлами docker-compose и nginx:
cd ./docker
- Соберите контейнеры и запустите их с параметром -d:
sudo docker compose up --build
- Проверьте миграции внутри контейнера:
sudo docker compose exec backend alembic revision --autogenerate
- Примените миграции:
sudo docker compose exec backend alembic upgrade head
- Автор: Даценко Дмитрий Игоревич
- Telegram: https://t.me/dmitriydatsenko
- Электронная почта: dmitriydatsenko@inbox.ru
- GitHub: https://github.com/iNTENSY