Заказчик
Отзывы фрилансеров:
+ 0
- 0
Зарегистрирован на сайте 9 месяцев
Бюджет:
30 000 руб
383.70 $ — 329.77 €
# Техническое задание: Telegram-бот и мини-приложение для управления доступом к каналам
## 1. Общее описание
Разработать приложение на базе Telegram-бота и мини-приложения (Mini App) для управления доступом пользователей к различным каналам в рамках организации.
## 2. Функциональные требования
### 2.1. Инициализация и создание организации
- При первом запуске бота пользователем создается сущность организации.
- Пользователь, запустивший бота, становится владельцем организации.
### 2.2. Добавление бота в каналы
- Владелец организации может добавлять бота в каналы, где он является администратором.
- Бот может быть добавлен только в каналы, где нет другого экземпляра данного бота.
### 2.3. Сканирование пользователей канала
- После добавления в канал, бот считывает список всех пользователей канала.
### 2.4. Управление правами доступа
- В рамках организации ведется список пользователей с их правами доступа к разным каналам.
- При обнаружении пользователя в канале, которого нет в списке организации, бот предлагает администратору:
Добавить пользователя в список организации
Выдать роль пользователю
Удалить пользователя из канала
- Реализовать возможность массового добавления пользователей в организацию путем отправки CSV-файла боту.
CSV-файл должен содержать необходимую информацию о пользователях (например, Telegram ID, имя, роль, доступные каналы).
Бот должен обрабатывать полученный файл, добавлять пользователей в систему и назначать соответствующие права доступа.
После обработки файла бот должен предоставить отчет о результатах импорта (количество успешно добавленных пользователей, ошибки при добавлении и т.д.).
### 2.5. Тегирование каналов
- При добавлении бота в канал, администратор указывает теги для этого канала.
- Бот использует теги для проверки прав доступа пользователей к каналу.
### 2.6. Проверка прав доступа
- Бот автоматически проверяет, имеют ли все пользователи канала достаточно прав для нахождения в нем.
## 3. Технические требования
### 3.1. Платформа
- Telegram Bot API
- Telegram Mini App
### 3.2. Бэкенд
- Использовать Node.js с фреймворком Express для разработки серверной части приложения
### 3.3. База данных
- Использовать PostgreSQL в качестве основной СУБД
- Разработать схему данных для хранения информации об организациях, пользователях, каналах и правах доступа
### 3.4. Мини-приложение
- Разработать интерфейс с разным функционалом для администраторов и обычных пользователей:
Для обычных пользователей:
Отображать список каналов, в которых состоит пользователь
Показывать роли пользователя в каждом канале
Для администраторов:
Предоставить доступ к базе пользователей с возможностью просмотра и управления их ролями
Отображать список всех каналов организации
Для каждого канала показывать:
Состав пользователей
Роли пользователей
Теги канала
Реализовать функционал для добавления/удаления пользователей, назначения ролей и управления тегами каналов
- Использовать современный фронтенд-фреймворк (например, React или Vue.js) для разработки пользовательского интерфейса
- Обеспечить отзывчивый дизайн для корректного отображения на различных устройствах
- Реализовать систему аутентификации и авторизации для разграничения доступа между администраторами и обычными пользователями
## 4. Безопасность
- Использовать встроенные механизмы безопасности Telegram для аутентификации и авторизации пользователей.
- Обеспечить корректную обработку прав доступа пользователей в соответствии с их ролями в организации и каналах.
- Соблюдать правила и политики Telegram для ботов и мини-приложений.
Разделы:
Опубликован:
08.10.2024 | 13:35 [поднят: 08.10.2024 | 13:35]
Заказ находится в архиве