РОЗРОБКА ВІРТУАЛЬНОГО АСИСТЕНТА РОЗКЛАДУ ВНЗ
14.03.2025 07:27
[1. Інформаційні системи і технології]
Автор: Чекушкін Артем Юрійович, студент групи КІ-21д, факультету інформаційних технологій та електроніки Східноукраїнського національного університету імені Володимира Даля, Київ; Ратов Денис Валентинович, кандидат технічних наук, доцент кафедри інформаційних технологій та програмування Східноукраїнського національного університету імені Володимира Даля, Київ
Вступ. У сучасному навчальному процесі, де студенти та викладачі потребують швидкого доступу до актуальної інформації, розробка Telegram-бота для отримання розкладів курсів є актуальним завданням. Впровадження автоматизованих систем дозволяє оптимізувати процес отримання розкладів, скоротити час пошуку інформації та підвищити загальну ефективність навчального процесу.
Метою роботи є розробка віртуального асистента, що інтегрується з існуючою системою ВНЗ і надає персоналізовану та оперативну інформацію про розклад занять, зміни у ньому та інші події навчального процесу.
Основний зміст роботи. Віртуальний асистент розкладу ВНЗ є інноваційним рішенням, яке має спростити доступ до інформації про розклад, забезпечити оперативність та точність у випадку змін.
Функціонал розробки має такі переваги як:
• Реєстрація користувачів:
• Можливість реєстрації нових користувачів із прив’язкою до навчальної групи.
• Збереження інформації про користувачів у базі даних для подальшої ідентифікації.
• Повторна реєстрація дозволяє змінювати навчальну групу у випадку переходу в іншу групу або зміни спеціальності.
• Доступ до вводу запитів з клавіатури:
• Зручна навігація через текстові команди та спеціальні кнопки в Telegram-інтерфейсі.
• Можливість вводити запити на отримання розкладу, додавання нових дисциплін або перегляду інформації про поточний день.
• Отримання актуального розкладу:
• Миттєвий доступ до розкладу занять для обраної групи.
• Актуалізація розкладу кожного семестру з автоматичним очищенням застарілих даних.
• Зберігання розкладу у окремій базі даних:
• Розподіл бази даних на дві частини: основна база (example.db) для користувачів та налаштувань, а також окрема база (timetable.db) для зберігання розкладу по групам.
• Зручний інтерфейс в Telegram:
• Інтуїтивно зрозумілі команди для отримання розкладу, перегляду дзвінків, інформації про день, реєстрації та додавання нових дисциплін.
• Безпека та стабільність:
• Надійне зберігання даних у базі SQLite із запобіганням дублюванню записів.
• Обробка помилок під час взаємодії з базою даних та мережевих запитів до сервера.
Рисунок 1 – Зовнішній вигляд чат-боту «SNU TimeTable»
Чат-бот «SNU TimeTable» передбачає версію програми для месенджеру Telegram.
Під час функціонування чат-боту вирішуються наступні завдання:
• отримання і розпізнавання повідомлення відправленого користувачем;
• отримання інформації з бази даних, шляхом виконання запитів з наданими параметрами;
• складання і відправлення відповіді, сформованої на підставі введеної інформації користувачем.
Рисунок 2 – Зовнішній вигляд команд чат-боту «SNU TimeTable»
Розробка дозволяє отримати кожному користувачу лише інформацію, яка відповідає його запиту.
Архітектура асистента зображена на рисунку 3
Рисунок 3 – Архітектура віртуального асистента для автоматизації розкладу у ВНЗ
Клієнтський додаток розкладу з точки зору навігації побудований відразу на двох типах навігації: стековій та двох видах табової навігації. Їх поєднання в одному додатку дає можливість одночасно використовувати переваги обох типів навігації, уникаючи обмеження кожного із типів. Переваги стекової навігації: ієрархічна структура, навігаційні дії, анімації переходів. Переваги навігації вкладками (табова навігація): множинні екрани, постійна видимість, незалежність вкладок, візуальне відображення активної вкладки, гнучкість в конфігурації.
З точки зору даних додаток можна поділити на такі частини: API, сесійне сховище даних, асинхронне сховище даних та компоненти відображення даних.
Отримання даних через API є важливою складовою частиною клієнтського додатку у моделі клієнт-сервер. Цей процес включає в себе наступні кроки:
1.Формування посилань на API з відповідними GET-параметрами в залежності від потреб.
2.Відправлення запиту.
3.Очікування відповіді: Після відправки запиту, додаток очікує відповідь від API. В даній реалізації це виконано як асинхронний процес.
4.Отримання відповіді та збереження даних: згідно з поточною архітектурою, сервер повертає дані в форматі JSON, що не потребують додаткової обробки. Після отримання даних додаток зберігає дані у сесійному сховищі даних для подальшого використання в додатку.
Для реалізації проекту використано: менеджер пакетів vcpkg для встановлення таких бібліотек: nlohmann/json.hpp, SQLiteCpp/SQLiteCpp.h, tgbot/tgbot.h та curl/curl.h.
Висновки. Розроблений віртуальний асистент розкладу для студентів та викладачів університету є ефективним рішенням для автоматизації процесу отримання розкладу занять. Завдяки інтеграції з месенджером Telegram, цей асистент забезпечує зручний доступ до актуальної інформації про розклад занять, а також оперативно інформує про зміни та важливі події навчального процесу. Основні функції, такі як реєстрація користувачів, отримання повідомлень, формування запитів до бази даних та надсилання персоналізованих відповідей, дозволяють зробити процес взаємодії з розкладом простим та інтуїтивно зрозумілим.
ДЖЕРЕЛА ТА ЛІТЕРАТУРА
1. Ratov D. Architectural paradigm of the interactive interface module in the cloud technology model. Applied Computer Science. 2020. Vol. 16, no. 4. P. 48–55.
2. Ратов Д.В. Програмний контролер автоматизації формування документів з обмеженням несанкціонованого доступу. Наукові праці ДонНТУ. Серія «Інформатика, кібернетика, обчислювальна техніка». Покровськ, 2021. № 1(32). C. 49–56.
3. Ratov D. Integration with the software interface of the com server for authorized user. Applied Computer Science. 2021. Vol. 17, no. 2. P. 5–13.
4. Ратов Д.В., Іванов В.Г., Лигіна Л.А. Створення мережевої системи авторизації для програмного забезпечення. Математичні машини і системи. Київ, 2021. № 2. C. 35–44.
5. Телеграм-бот на C++: пошук та встановлення URL: https://nbookpart.com.ua/telehram-bot-na-c-poshuk-ta-vstanovlennya/