Электронный кампус КПИ. Технологический стек.
Импортировано из старого блога. Оригинальная дата публикации – 19 мая 2019 года.
Информационно-телекоммуникационная система «Электронный кампус» — прикладное программное обеспечение, которое является элементом информационно-телекоммуникационной среды университета и используется для информационной поддержки повседневной деятельности студентов, преподавателей, сотрудников университета, а так же для информационной поддержки всех видов инновационной деятельности в университете (далее ИТС ЭК).
ИТС ЭК объединяет внутренние информационные ресурсы (учебные, методические и другие), предоставляет централизованный доступ к ним на основе единых системных и технологических решений и обеспечивает их использование для эффективного управления и планирования научно-образовательным процессом.
Технологический стек
PHP 5.3 — скриптовый язык общего назначения, применяется для разработки веб-приложений. В настоящее время, актуально версией языка является PHP 7.1
Smarty — компилирующий обработчик шаблонов для PHP, один из инструментов, позволяющих отделить прикладную логику и данные от представления в духе концепции Model-view-controller.
Модуль авторизации электронного кампуса
Обновленный модуль авторизации позволяет пользователям электронного кампуса управлять своим аккаунтом (смена пароля, обновление персональных данных, обновление аватарки), восстановить утерянный пароль, а также авторизовываться в системе используя:
– аккаунт Facebook, привязанный к тому же адресу электронной почты, что и указан в профиле пользователя;
– аккаунт в мессенджере телеграм.
Код модуля авторизации доступен на GithHub аккаунте КПИ.
Технологический стек
React — JavaScript-библиотека с открытым исходным кодом для разработки пользовательских интерфейсов. React разрабатывается и поддерживается Facebook, Instagram и сообществом отдельных разработчиков и корпораций. React предоставляет высокую скорость, простоту и масштабируемость. В качестве библиотеки для разработки пользовательских интерфейсов React часто используется с другими библиотеками и компонентами.
API системы «Электронный кампус» v3.0
API электронного кампуса позволяет реализовать интеграцию между электронным кампусом и другими системами КПИ (например проект directory.kpi.ua большую часть информации получает именно из API). Также, API используется разработчиками мобильных приложений для iOS и Android. API электронного кампуса реализовано на базе архитектуры — REpresentational State Transfer. Это архитектурный стиль взаимодействия компонентов распределённого приложения в сети, который представляет собой согласованный набор ограничений, учитываемых при проектировании распределённой системы.
Технологический стек
ASP.NET Core 2.2 — кроссплатформенная, высокопроизводительная среда с открытым исходным кодом для создания современных облачных приложений.
JWT — открытый стандарт (RFC 7519) для создания токенов доступа, основанный на формате JSON. Используется для передачи данных для аутентификации в клиент-серверных приложениях. Токены создаются сервером, подписываются секретным ключом и передаются клиенту, который в дальнейшем использует данный токен для подтверждения своей личности.
Azure BLOB Storage — это высокомасштабируемое облачное хранилище, которое идеально подходит для хранения изображений, текстовых файлов и файлов c видео. В Azure BLOB Storage хранятся аватарки пользователей электронного кампуса.
Общие компоненты системы
MySQL — свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle. Капитан очевидность подсказывает, что в базе данных хранятся данные электронного кампуса.
nginx — веб-сервер общего назначения, который уже длительное время обслуживает серверы многих высоконагруженных проектов. Согласно статистике Netcraft nginx обслуживал или проксировал 26.22% самых нагруженных сайтов в апреле 2019 года.