June 9, 2022

Расписание занятий КПИ

Многие из вас знакомы с электронным расписанием rozklad.kpi.ua. В свое время это был хороший и полезный сервис, который и сейчас облегчат жизнь многим студентам и преподавателям, но время не стоит на месте, требования к удобству и возможностям системы меняются. Поэтому мы рады представить вам предварительную версию нового расписания schedule.kpi.ua!

Новая версия имеет более удобный интерфейс, который корректно отображается как на экране компьютера, или ноутбука, так и на экране планшета, или телефона.

Есть поддержка темной и светлой темы:

Вторым важным отличием является архитектура расписания. Теперь это не монолит, а набор из нескольких сервисов.

Также теперь стал гораздо удобнее реализован поиск по группам и преподавателям.

Детали разработки

Новое расписание состоит из трех основных компонентов:

  • API – REST API предоставляет информацию в JSON-формате, разработан на ASP.NET Core 6
  • UI – новый адаптивный UI разработан на базе фреймворка react
  • Парсер – отвечает за подгрузку информации о расписании занятий из внутренней информационной системы КПИ, разработан на .NET 6
  • База данных – расписание использует собственную базу дынных, в котоорй хранится как актуаьное состояние расписания, так и исторические данные. В качестве СУБД была выбрана PostgreSQL.

Каждый сервис разворачивается в виде docker контейнера, что при необходимости облегчит процесс переноса на новый сервер, или дата-центр.

Внедрение REST API позволяет теперь использовать API расписания сторонним разработчикам. Так, например, одним из студентов КПИ было разработано мобильное приложение под iOS.

Open Source

Пользовательский интерфейс расписания доступен на GitHub в виде проекта с отрытым исходным кодом под лицензией BSD 3-Clause License.

Что дальше?

В планах на будущее:

  • интеграция расписания с системой "Электронный кампус КПИ"
  • экспорт расписания в календарь пользователя
  • доработка интерфейса
  • реализация других идей и предложений

Присоединяйтесь к разработке!