Skip to content

nihosprop/bot_get_cert

Repository files navigation

BotGetCert

Version Python Aiogram License Redis Docker

✨ Возможности

  • Автоматическая генерация сертификатов PDF/PNG
  • Интеграция с Stepik API:
    • Проверка завершения курса
    • Получение данных студента
  • Персонализация:
    • Подпись преподавателя
  • Управление через Telegram:
    • Запрос сертификата
    • История выданных документов

🛠 Технологический стек

Компонент Назначение
Python 3.13+ Основной язык разработки
Aiogram Telegram Bot Framework
PostgreSQL Хранение данных сертификатов и пользователей
SQLAlchemyORM Работа с PostgreSQL по средствам ООП
PyPDF2 Генерация PDF-сертификатов
Pillow Создание графических сертификатов (PNG)
Docker Контейнеризация
Stepik API Интеграция с образовательной платформой
GitHub Actions CI/CD: автотесты и деплой на DockerHub

🚀 Быстрый старт

# Клонирование репозитория
git clone https://github.com/nihosprop/bot_get_cert.git

Структура проекта

your_name_bot_dir
├── data
│  ├── 1 часть жен.pdf
│  ├── 1 часть муж.pdf
│  └── Bitter-Regular.ttf
├── docker-compose.PROD.yml
├── logs
│  └── app.log
└── redis.conf
├── .env

Деплой через docker-composePROD

  1. Добавить в папку data(static в локальной версии) .pdf шаблоны сертификатов.

  2. Прописать docker-compose.yml заменив данные на свои

  3. Прописать .env по аналогии .env.example, заменив данные на свои

  4. Выдать права контейнеру на запись logs/app.log:

   # из корня проекта
   sudo chown -R 1000:1000 logs
  1. Прописать redis.conf под свои нужды.

! Задать пароль для Redis в .env и redis.conf

! Redis пароли должны совпадать в .env и redis.conf

Находясь в корне проекта(бота) исполнить:

docker compose down && docker compose pull && docker compose up -d

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors