Основная задача Создать Telegram-бота и базу данных для управления настройками моего плагина на платформе GetCourse
Требования к языкам и технологиям Желательно использовать такие языки и технологии, которые позволят мне в будущем разбираться в коде и самостоятельно поддерживать проект. Выбор конкретного стека не принципиален, главное — понятная структура и документация.
Описание идеи У меня есть плагин для платформы GetCourse с множеством функций и улучшений для технических специалистов и владельцев проектов. Сейчас процесс установки и настройки плагина сложен и не масштабируем: — Для каждого аккаунта я вручную добавляю код и настраиваю параметры через неудобный интерфейс — При добавлении новой функции настройки приходится обновлять вручную для каждого аккаунта
Хочу реализовать решение, которое позволит централизованно управлять настройками и масштабировать использование плагина. Основная аудитория находится в Telegram, поэтому бот должен стать связующим звеном между платформой, настройками плагина и пользователями
Как это должно работать — Настройки плагина хранятся в отдельной базе данных — Пользователи подключают плагин через бота, который управляет доступами и настройками — Если плагин платный, его функции не активируются до тех пор, пока пользователь не привяжет аккаунт и не оплатит подписку
Функционал бота 1. Хранение настроек для каждого подключенного аккаунта в базе данных
2. Оплата подписки — Генерация ссылок на оплату подписки через сервис Prodamus (удобно API есть и хорошая документация) — Хранение информации о статусе подписки для каждого пользователя
3. Связь с базой данных — Запросы в базу для заполнения данных о пользователях — Распознавание подключенного пользователя при взаимодействии с ботом
4. Инструкции — Отправка инструкций по подключению плагина через команды.
Проект должен быть удобным для последующей поддержки и масштабирования. Ожидаю понятную структуру кода, комментарии и базовую документацию. Если у вас есть предложения по улучшению архитектуры или функционала — готов обсудить, т.к. я не бэкендер и могу многие нюансы не знать
Пример бота, который похож по функционалу: @GetFusionBot
Видео к техническому заданию: disk.yandex.ru/d/Ecc1o_FsvBrFpA ТЗ в более читабельном варианте: docs.google.com/document/...