# Техническое задание: Сервис подписки на VPN ## Цель Цель данного проекта - разработать сервис подписки на VPN, который позволяет пользователям покупать учетные данные VPN через чат-бот в Telegram, интегрируется с API Prime Payments для обработки платежей, управляет развертыванием и удалением контейнеров OpenVPN на основе статуса подписки и предоставляет административную панель для мониторинга продаж, использования серверов и подписок. ## Требования ### 1. Чат-бот Telegram - Чат-бот должен общаться с пользователями через мессенджер Telegram. - Он должен предоставлять удобный интерфейс для пользователей для просмотра доступных тарифных планов VPN, покупки учетных данных VPN и запроса поддержки. - Чат-бот должен поддерживать обработку распространенных пользовательских запросов и предоставлять соответствующие ответы. #### Сценарий использования чат-бота 1. Пользователь начинает общение с чат-ботом, нажимая кнопку "Начать" или отправляя команду "/start". 2. Чат-бот приветствует пользователя и предлагает несколько основных опций: "Просмотреть тарифы", "Купить VPN", "Поддержка". 3. При выборе "Просмотреть тарифы", чат-бот представляет список доступных тарифных планов с описанием, ценой и длительностью подписки. 4. При выборе "Купить VPN", пользователь выбирает желаемый тарифный план. Затем чат-бот отправляет пользователю ссылку на "prime payments" для оплаты. 5. После успешной оплаты чат-бот отправляет пользователю учетные данные VPN (open vpn creds). 6. В любой момент пользователь может выбрать опцию "Поддержка" для получения контактов поддержки ### 2. Интеграция с API Prime Payments - Сервис должен интегрироваться с API Prime Payments для обработки платежей. - Интеграция должна поддерживать обработку успешных и неудачных платежей, а также отправку уведомлений пользователям и администратору сервиса. ### 3. Управление учетными данными VPN - После успешной оплаты сервис должен генерировать уникальные учетные данные VPN для пользователя. - Сервис должен отправлять учетные данные VPN пользователю через чат-бот в Telegram. ### 4. Развертывание контейнеров OpenVPN - При покупке учетных данных VPN пользователем, сервис должен автоматически развернуть контейнер OpenVPN с уникальными учетными данными пользователя. - Сервис должен возвращать пользователю необходимую информацию о подключении (config openVPN) через чат-бот в Telegram. ### 5. Управление подписками - Сервис должен отслеживать статус подписки каждого пользователя. - Сервис должен периодически проверять активные подписки и автоматически отключать контейнеры OpenVPN с истекшими подписками. - Сервис должен уведомлять пользователей о предстоящем истечении срока их подписки и предлагать возможность продления через чат-бот в Telegram. ### 6. Административная панель - Сервис должен предоставлять административную панель для мониторинга продаж, использования серверов и подписок. - Панель должна отображать соответствующие метрики и отчеты, такие как общее количество активных подписок, доход, использование ресурсов сервера и активность пользователей. - Административная панель должна позволять администраторам управлять учетными записями пользователей, настраивать тарифные планы VPN и получать доступ к журналам для устранения неполадок. ### Результаты - Полностью функциональный чат-бот Telegram, способный взаимодействовать с пользователями и облегчать покупку учетных данных VPN. - Бэкенд-сервисы для обработки интеграции с API Prime Payments, управления учетными данными VPN и развертывания контейнеров OpenVPN. - Система управления подписками для отслеживания активных подписок и управления контейнерами OpenVPN. - Административная панель для мониторинга продаж, использования серверов и подписок, а также управления учетными записями пользователей и тарифными планами VPN. - Подробная документация по настройке, конфигурации и обслуживанию сервиса. - Тестовые случаи и результаты тестирования, демонстрирующие корректную работу сервиса.