Веб-система для онлайн навчання з використанням мікросервісної архітектури
Вантажиться...
Дата
2026
Науковий керівник
Назва журналу
Номер ISSN
Назва тому
Видавець
КПІ ім. Ігоря Сікорського
Анотація
Бакалаврська дипломна робота виконана на 114 сторінках, містить 16 ілюстрацій, 1 таблицю, 2 додатки, 22 джерела у переліку посилань.
Метою роботи є розробка вебплатформи для дистанційного навчання CourseMaster. Система реалізована на основі ASP.NET Core 8 для серверної частини та React 18 для клієнтського інтерфейсу. Архітектура проекту передбачає використання окремих баз даних PostgreSQL для кожного сервісу, автентифікацію за допомогою JWT-токенів із застосуванням алгоритму RSA, обмін повідомленнями через брокер повідомлень RabbitMQ, S3-сумісне файлове сховище MinIO та підтримку трьох ролей користувачів: Student, Instructor і Admin.
Під час розроблення використано мікросервісний підхід із розділенням баз даних між сервісами. Для забезпечення безпечної автентифікації застосовано асиметричне підписування JWT-токенів за алгоритмом RS256. Надійність обміну подіями реалізовано за допомогою патерна Outbox та брокера повідомлень RabbitMQ із використанням бібліотеки MassTransit. Для запобігання повторній обробці повідомлень впроваджено механізм ідемпотентності через таблицю ProcessedMessage. Робота з файлами організована через MinIO із використанням presigned URL. Автоматичне оновлення JWT-токенів забезпечується HTTP-інтерсепторами Axios. Питання інформаційної безпеки розглянуто відповідно до моделі STRIDE та рекомендацій OWASP Top 10. Для підвищення відмовостійкості системи використано шаблони Saga та Circuit Breaker. У результаті створено працездатну вебплатформу CourseMaster, що складається з трьох незалежних сервісів: Identity, Learning та Notification. У системі реалізовано сім доменних подій (UserRegisteredV1, UserRoleChangedV1, UserBlockedV1, CourseCreatedV1, EnrollmentCompletedV1, QuizSubmittedV1 та GradeAssignedV1), а також рольову маршрутизацію для користувачів Student, Instructor і Admin. Розгортання програмного комплексу здійснюється за допомогою docker-compose. Проведено порівняльний аналіз розробленого рішення з популярними LMS-платформами. Результати шести тестових сценаріїв підтвердили коректність функціонування основних можливостей системи.
Опис
Ключові слова
мікросервісна архітектура, ASP.NET Core, React, JWT, дистанційне навчання, RabbitMQ, Outbox, MinIO, Docker, PostgreSQL, інформаційна безпека, ідемпотентність, microservices architecture, distance learning, information security, idempotency
Бібліографічний опис
Мазуренко, М. Р. Веб-система для онлайн навчання з використанням мікросервісної архітектури : дипломна робота ... бакалавра : 122 Комп’ютерні науки / Мазуренко Мирослав Романович. – Київ, 2026. – 114 с.