Веб-система для онлайн навчання з використанням мікросервісної архітектури
| dc.contributor.advisor | Здор, Костянтин Андрійович | |
| dc.contributor.author | Мазуренко, Мирослав Романович | |
| dc.date.accessioned | 2026-07-29T13:05:57Z | |
| dc.date.available | 2026-07-29T13:05:57Z | |
| dc.date.issued | 2026 | |
| dc.description.abstract | Бакалаврська дипломна робота виконана на 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-платформами. Результати шести тестових сценаріїв підтвердили коректність функціонування основних можливостей системи. | |
| dc.description.abstractother | The bachelor's thesis consists of 114 pages and includes 16 figures, 1 table, 2 appendices, and 22 references. The aim of the thesis is to develop the CourseMaster web-based distance learning platform. The system is implemented using ASP.NET Core 8 for the backend and React 18 for the frontend. The project architecture is based on separate PostgreSQL databases for each service, JWT-based authentication using the RSA algorithm, message exchange through the RabbitMQ message broker, S3-compatible MinIO object storage, and support for three user roles: Student, Instructor, and Admin. The development process employed a microservices architecture with database isolation between services. Secure authentication is achieved through asymmetric signing of JWT tokens using the RS256 algorithm. Reliable event delivery is ensured through the Outbox pattern and RabbitMQ message broker integration using the MassTransit library. To prevent duplicate message processing, an idempotency mechanism based on the ProcessedMessage table was implemented. File management is handled through MinIO using presigned URLs. Automatic JWT token renewal is provided by Axios HTTP interceptors. Information security aspects were addressed according to the STRIDE threat model and OWASP Top 10 recommendations. To improve system resilience, the Saga and Circuit Breaker patterns were applied. As a result, a fully functional CourseMaster web platform was developed, consisting of three independent services: Identity, Learning, and Notification. The system implements seven domain events (UserRegisteredV1, UserRoleChangedV1, UserBlockedV1, CourseCreatedV1, EnrollmentCompletedV1, QuizSubmittedV1, and GradeAssignedV1), as well as role-based routing for Student, Instructor, and Admin users. Deployment of the software system is performed using docker-compose. A comparative analysis of the developed solution and popular LMS platforms was conducted. The results of six test scenarios confirmed the correctness and reliability of the platform's core functionality. | |
| dc.format.extent | 114 с. | |
| dc.identifier.citation | Мазуренко, М. Р. Веб-система для онлайн навчання з використанням мікросервісної архітектури : дипломна робота ... бакалавра : 122 Комп’ютерні науки / Мазуренко Мирослав Романович. – Київ, 2026. – 114 с. | |
| dc.identifier.uri | https://ela.kpi.ua/handle/123456789/82311 | |
| dc.language.iso | uk | |
| dc.publisher | КПІ ім. Ігоря Сікорського | |
| dc.publisher.place | Київ | |
| dc.subject | мікросервісна архітектура | |
| dc.subject | ASP.NET Core | |
| dc.subject | React | |
| dc.subject | JWT | |
| dc.subject | дистанційне навчання | |
| dc.subject | RabbitMQ | |
| dc.subject | Outbox | |
| dc.subject | MinIO | |
| dc.subject | Docker | |
| dc.subject | PostgreSQL | |
| dc.subject | інформаційна безпека | |
| dc.subject | ідемпотентність | |
| dc.subject | microservices architecture | |
| dc.subject | distance learning | |
| dc.subject | information security | |
| dc.subject | idempotency | |
| dc.title | Веб-система для онлайн навчання з використанням мікросервісної архітектури | |
| dc.type | Bachelor Thesis |
Файли
Контейнер файлів
1 - 1 з 1
Вантажиться...
- Назва:
- Mazurenko_bakalavr.pdf
- Розмір:
- 3.31 MB
- Формат:
- Adobe Portable Document Format
Ліцензійна угода
1 - 1 з 1
Ескіз недоступний
- Назва:
- license.txt
- Розмір:
- 8.98 KB
- Формат:
- Item-specific license agreed upon to submission
- Опис: