Інформаційна система з елементами гри

Автор: Дацишин Віталій Васильович
Кваліфікаційний рівень: магістр
Спеціальність: Спеціалізовані комп'ютерні системи
Інститут: Інститут комп'ютерних технологій, автоматики та метрології
Форма навчання: денна
Навчальний рік: 2021-2022 н.р.
Мова захисту: українська
Анотація: Дана дипломна робота присвячена розробці інформаційної системи з елементами гри. Система представлена у вигляді веб-додатку з клієнт-серверною архітектурою.Серверна частина розроблялась з використанням мови C# та бібліотеки ASP.NET Core 3.1, клієнтська– Angular та TypeScript, і сервердляавтентифікаціїтаавторизації з використаннямфреймворка IdentityServer 4 і ASP.NET Identity. Також було створено окремий сервер для автентифікації та авторизації користувачів. Користувач може мати одну з даних ролей: студент, вчитель або адміністратор. В Адміністратора буде окрема сторінка, де він зможе налаштовувати ролі інших користувачів та видаляти їх. У Вчителя буде окрема сторінка на кожен його курс, де він бачитиме студентів, які підписались на його курс і їх прогрес. Також буде додана можливість автентифікації через Google і Facebook. Щодо баз даних, то було прийнято рішення використати MS SQL Server для збереження інформації про користувачів, курсів та персонажів та MongoDB для збереження спроб проходження курсів учнями. В даній роботі було досліджено різні способи авторизації: • На основі сесій • На основі сертифікатів • На основі токенів доступу • На основі соціальних мереж В даній інформаційній системі з елементами гри було реалізовано два способи авторизації – на основі токенів доступу та на основі соціальних мереж, а саме Facebook і Google. Спосіб на основі сесій був відкинутий через незручність у використанні, неможливість масшабування сервера та застарілість. А спосіб на основі сертифікатів був відкинутий через складність підтримки великої кількості сертифікатів для багатьох користувачів. Було розроблено такі елементи гри: • можливість обрати собі віртуального персонажа; • отримувати нагороди та очки зростання за пройдені курси; • збільшувати свій ігровий рівень отримуючи очки зростання Ключові слова: навчальна платформа, автентифікація, авторизація, елемент гри, віртуальний персонаж, клієнт-сервер. ?