РЕАЛІЗАЦІЯ СИСТЕМИ ДЛЯ ОБМІНУ МИТТЄВИМИ ПОВІДОМЛЕННЯМИ
31.08.2021 23:48
[1. Information systems and technologies]
Author: Беспояско Є.Е., студент, кафедра автоматизованих систем управління, Національний університет «Львівська політехніка», м. Львів;
Кухарчук Р.С., студент, кафедра автоматизованих систем управління, Національний університет «Львівська політехніка», м. Львів
Система обміну миттєвими повідомленнями складається з двох частин:
1) Віджету для миттєвого обміну повідомленнями із можливістю легкої інтеграції в будь-який веб-сайт;
2) Веб-сайту, який відповідає за адміністрування застосунку для обміну миттєвими повідомленнями.
Для реалізації даного програмного продукту визначено типові функції систем для обміну миттєвими повідомленнями та здійснено аналіз таких додатків-аналогів як Chatify, Intercom та Talk-me.
Система для обміну миттєвими повідомлення має клієнт-серверну архітектуру. Серверна та клієнтська частини додатка взаємодіють між собою за допомогою SignalR та HTTP/HTTPS-запитів.
Серверна частина застосунку має багатомодульну конструкцію. Кожен модуль є багатошаровим незалежним застосунком, де кожен шар взаємодіє з сусідніми та нічого не знає про інші шари. Основним модулем програми є Core, який містить реалізацію ін’єкції залежностей, інверсії управління, класу Repository та основних типів даних, що використовуються в інших модулях [1]. Модулі серверної частини програми:
1) Logging – модуль для аудиту в системі;
2) Membership – модуль для управління користувачами;
3) NotificatonService – модуль для відправки сповіщень, таких як email;
4) OAuth – модуль для авторизації через Google та Facebook;
5) RealtimeChat – двигун чату;
6) Sendify – модуль для специфічної логіки застосунку;
7) SiteSettings – модуль для налаштування застосунку;
8) TemplateService – модуль для управління шаблонами;
9) TenantManagement – модуль для управління клієнтами системи;
10) UploadService – модуль для завантаження файлів на сервер;
11) UrlTracking – модуль для збору статистики;
12) FeatureManagement – модуль для управління платними функціями.
На рис. 1 наведена діаграма компонентів серверної частини системи.
Кожен модуль серверної частини поділено на такі шари:
1) Core – шар загальної інфраструктури, включає контракти модуля та визначення його бізнес логіки;
2) DAL – шар доступу до даних. Сутності, пов’язані із цим модулем, та конкретний контекст бази даних реалізовані на цьому рівні;
3) Services – шар обробки даних, містить реалізацію бізнес логіки;
4) API – інтерфейс для доступу клієнта до сервера. API-контролери, які представляють фасад серверної частини, реалізовано у цьому шарі.
Клієнтську частину застосунку побудовано із використання фреймворку Angular. Вона складається з будівельних блоків Angular – NgModules. Основним модулем програми на стороні клієнта є AppModule. Він завантажується при запуску, коли користувач відкриває сторінку з веб-сайтом [2]. Інші модулі можна розділити на дві категорії: загальні та функціональні. До загальних модулів відносяться Common Shared модуль та Membership модуль, а до функціональних – SiteSettings, Installer, та ChatBox модулі. На рис. 2 подано діаграму компонентів клієнтської частини системи для обміну миттєвими повідомленнями.
Література:
1. Прайс М. C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов. – Питер, 2016. – 640 с
2. Файн Я., Моїсеєв А. Angular и TypeScript. Сайтостроение для профессионалов. – Питер, 2016. – 464 с.