Электронный кампус
January 10, 2022

Электронный кампус КПИ. Технологический стек.

Импортировано из старого блога. Оригинальная дата публикации – 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 года.