Управление подписками и доступами к серверам (Python)
Функциональные требования
Subscription URL
Реализовать систему динамических ссылок, по которым клиент получает актуальный список конфигураций для подключения к серверам.
Middle Layer (отказоустойчивость)
Разработать модуль-агрегатор, который опрашивает API нескольких панелей управления серверами (нодами). Если одна панель недоступна, она автоматически исключается из выдачи активной подписки.
HTTPS/SSL
Настроить взаимодействие с API панелей по защищённому протоколу. В конфигурации предусмотреть флаг verify_ssl: false для работы во внутренних сетях.
Telegram Web App (TWA)
Создать интерфейс личного кабинета с возможностью визуализации статистики использования ресурсов, отображения срока действия подписки и кнопкой копирования персональной ссылки.
Миграция данных
- Перенос существующей базы (200+ пользователей) в новую структуру БД
- Сохранение ID, текущих лимитов и сроков действия доступов
- Автоматическая генерация новых параметров доступа при первом входе пользователя в обновлённого бота
Технические требования
- Стек: Python (aiogram 3), PostgreSQL, Docker
- Полная асинхронность с использованием библиотеки aiohttp
- Глубокое логирование API-запросов и системных событий
- Чистый код и architecture, позволяющая добавлять новые узлы через конфиг
Ожидаемый результат
Стабильная система с централизованным управлением доступами и корректно перенесённой базой данных.