Skip to content

Latest commit

 

History

History
62 lines (42 loc) · 4.4 KB

File metadata and controls

62 lines (42 loc) · 4.4 KB

Финальный проект: Генерирование сертификата участникам курса/марафона

Warning

Это новый финальный проект. Удачи!

Note

Этот финальный проект будет решать реальные бизнес задачи

Цель проекта

Вам нужно создать приложение для генерации сертификатов ребятам, которые прошли курс/марафон, используя любую реляционную базу данных (на курсе была PostgreSQL), а также телеграмм, как посредник между клиентом (конечным пользователем) и программой (сервером).

Разработка Telegram-бота, который будет автоматически генерировать персонализированные сертификаты для участников, успешно завершивших курсы или марафоны. Программа должна обеспечивать возможность генерации сертификатов в режиме онлайн с использованием базы данных и графических шаблонов.

Требования:

  • Интеграция с базой данных для хранения информации о пользователях и их успехах.
  • Возможность автоматической проверки выполненных условий марафона/курса перед выдачей сертификата.
  • Поддержка различных шаблонов сертификатов для разных курсов/марафонов.
  • Генерация сертификата в PDF/png формате для сохранения и печати. Для генерации сертификата можно использовать разлиные библиотеки ( например https://pypi.org/project/pillow/ )
  • Интерфейс для администратора для настройки курсов, управления шаблонами и проверки данных участников.

Примерное распределение ролей

Админы Обычные пользователи
получают сертификат + +
настраивают шаблоны + -
проверяют прохождение курса + -
редактируют информацию о пользователе + -

Примерная структура базы данных

Таблица пользователей (user)

id(int) name(varchar) tg_username(varchar)
1 Иван Иванов vanya_ivan_228
2 Мария Петрова maria_petrova

Таблица курсов (course)

id(int) course_name(varchar) completion_criteria(text)
1 Основы Python Complete all modules
2 Марафон бега Run 100 km total

Таблица прогресса пользователей по курсам (user_progress)

id(int) user_id(int) course_id(int) progress(text) completed(boolean)
1 1 1 75% done False
2 1 2 110 km True

Таблица шаблонов сертификатов (certificate_template)

id(int) course_id(int) template_file(varchar)
1 1 template1.png
2 2 template2.png