- Назначение Telegram-бота
- Функционально-логические отношения процессов (IDEF0)
- Структура проекта
- Архитектура приложения
- Список команд
- Просмотра списка тем документации и подробных данных по номеру темы.
- Добавления темы на предложение в отдельную таблицу с текстовыми данными (текст и ссылки)
- Логирования команд пользователей - всего, что касается БД. Мусорная информация, которая не будет отправлена в БД (как загружаемый видеофайл), не заносится в логи.
- Просмотра определённой информации о системе администратором (реализована роль, которой доступны специальные команды)
- Входными данными были определены:
- заказ предприятия,
- выделенные ресурсы,
- информация о действующей ИС и документация по выбранным технологиям.
- Управляющее воздействие – требования к проекту.
- Механизм воздействия – разработчик ПО и средства разработки.
- Выходные данные – готовая ИС автоматизации процессов подготовки документации IT-проектов и руководство пользователя.
- каталога models, где находятся модели создаваемых через программный код таблиц в БД;
- файла настроек соединения с БД db.js;
- файла, являющимся точкой входа в программу – index.js;
- файлов указанных зависимостей – package-lock.json, package.json.
- При этом стоит уточнить, что сами данные не хранятся в БД для обеспечения легковесности оной и скорости выполнения sql-запросов, а хранятся данные в специальном облачном хранилище, в котором их можно найти по web-ссылкам.
- Также в существующей корпоративной БД имеется таблица с прописанными ролями каждого пользователя, в которой имеется роль администратора. В данную БД разрабатываемое приложение добавляет две таблицы – для логирования базовых действий своих пользователей и для хранения предложенных ими тем технической документации.
- Таким образом, архитектура разрабатываемого программного продукта такова: клиентская часть основана на кроссплатформенных приложениях Telegram и взаимодействует посредством программного интерфейса приложений Telegram с серверной частью с бизнес-логикой приложения (расположенной на одном сервере); серверная часть содержит всю бизнес-логику и взаимодействует с базой данных (расположенной на другом сервере).
- Подразумевается, что база данных взаимодействует с облачным хранилищем данных (расположенном на третьем сервере) и взаимодействует с другими подсистемами предприятия по необходимости.
Команда | Описание команды |
---|---|
/help | Вывод основных команд /help и /info, команды просмотра администратора /admin и способа ввода предложенной темы |
/info | Вывод команд вывода тем документации из главной таблицы тем и из таблицы предложенных тем с описанием |
Ввод номера (id) темы | Если тема не найдена, то будет выведено сообщение: «Такой темы ещё нет, или она была удалена». Если тема найдена, будет произведён вывод всей информации по теме, которая отображена в таблице. |
/topicsList | Вывод тем на просмотр из подсистемы "N" |
/topicsLast_25 | Вывод последних 25 тем из подсистемы "N". |
/proposedThemeLast | Вывод последней предложенной темы. |
/proposedThemesLast_10 | Вывод последних 10 предложенных тем. |
/admin | Вывод информации о том, кто администратор. Если пользователь не является администратором, вывод сообщения «Вы - не администратор. За всеми вопросами обращайтесь к текущему администратору Имя_Фамилия (@Ссылка_на_аккаунт)».Если пользователь является администратором, оповещение его об этом и вывод команд администратора: «Имя Фамилия, Вы - действующий администратор.» |
/view_10_last_propose_or_view_members | Просмотр 10 последних предложивших или просмотревших из подсистемы темы пользователей. |
/view_20_last_logs | Вывод последних 20 записей о пользователях (их логов). |
/view_20_new_member | Вывод последних 20 тех, кто присоединился. |
/get_admin | Попытаться стать администратором. Выводит сообщение с просьбой ввести пароль для получения данной роли. Если пароль введён неверный – команда игнорируется (далее можно, не вызывая эту команду повторно, просто ввести верный пароль). Если пароль введён верно – выводит сообщение о том, что бывший администратор более обладает данной ролью. (Происходит запись данных о новом администраторе в таблицу ролей). Проверить это можно командой /admin. |
Команды администратора:
Команда | Описание команды |
---|---|
/view_10_last_propose_or_view_members | Просмотр 10 последних предложивших или просмотревших из подсистемы темы пользователей. |
/view_20_last_logs | Вывод последних 20 записей о пользователях (их логов). |
/view_20_new_member | Вывод последних 20 тех, кто присоединился. |
А также вывод команды явного получения роли администратора, которое администратор может переслать другому пользователю /get_admin - Попытаться стать администратором.