Расписание занятий КПИ
Многие из вас знакомы с электронным расписанием 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.
Что дальше?
- интеграция расписания с системой "Электронный кампус КПИ"
- экспорт расписания в календарь пользователя
- доработка интерфейса
- реализация других идей и предложений