ABChess Web
ABChess Web — платформа для оттачивания мастерства игры в шахматы
Цифровой Студенческий Билет (ЦСБ) — это государственный сервис, который автоматизирует идентификацию студентов и заменяет классические бумажные студенческие билеты. Проект является частью государственной системы «Современная цифровая образовательная среда» (ГИС СЦОС), в рамках которой студенты могут проходить онлайн-курсы других университетов и получать по ним перезачет в своем ВУЗе.
В Профиле ЦСБ хранится вся необходимая информация для идентификации студента. Для ее считывания достаточно специального QR-кода, который студенты могут сгенерировать в личном кабинете. Такой QR-код позволяет:
У охранников и администраторов системы имеются собственные профили с разными уровнями доступа. В них охранники могут сканировать студенческие QR-коды и сохранять историю всех пропусков, а администраторы системы — получать и редактировать информацию обо всех пользователях сервиса.
Кроме сотрудников университетов, подтвердить статус студента могут и неавторизованные пользователи. Достаточно отсканировать QR-код с помощью сервиса ЦСБ и получить базовую информацию о студенте.
Сервис ЦСБ — это полноценное веб-приложение, которое работает в большинстве браузеров. Для удобства использования сервиса на мобильных устройствах мы разработали PWA-версию. PWA легко запускается в смартфоне как приложение (без интерфейса браузера) и позволяет хранить сгенерированный QR-код даже без Интернета.
Изначально планировалось построить фронтенд на базе технологии JSF (JavaServer Faces), но JSF не обладает должной гибкостью и плохо поддерживает необходимые библиотеки. Поэтому был использован более современный фреймворк React.js.
Бэкенд сервиса разработан на языке Java в связке со Spring Boot. Для организации работы сервера использовано решение nginx.
Оно зарекомендовало себя на рынке и стало де-факто стандартом для развертывания высоконагруженных серверов nginx берет на себя множество функций, включая балансировку нагрузки, перенаправление адресов при помощи прокси и выдачу веб-страниц.
Для хранения информации о профилях пользователей мы использовали СУБД PostgreSQL. Чтобы взаимодействовать с базами данных, применяется ORM Hibernate. Библиотека позволяет удобно связать Java-классы и объекты базы данных, а также автоматически генерировать запросы к БД и извлекать данные.
На портале ГИС СЦОС действует технология единого входа. С помощью одного профиля пользователь может пройти аутентификацию на всех информационных ресурсах системы. Поэтому единый вход необходимо было обеспечить и в ЦСБ. Для этого наши разработчики подключили к сервису ЦСБ инструмент Keycloak и дополнительные библиотеки основного портала.
Нагрузка на сервер постоянно меняется. Чтобы от повышенной нагрузки основной сервер не вышел временно из строя, был подготовлен резервный сервер с собственной базой данных. Между серверами перераспределяется нагрузка, а данные периодически реплицируются во избежание их потери.
Цифровой Студенческий Билет стал частью крупного государственного сервиса онлайн-образования. Некоторые крупные российские вузы уже внедрили микросервис в свою инфраструктуру. Их студенты теперь всегда имеют под рукой подтверждение статуса студента (которое не потеряется), а сотрудники университета могут оперативно выдавать необходимые доступы.
Sixhands GPT Alpha