← Все проекты
Расписание РГЭУ
Неофициальное приложение для студентов РГЭУ. Расписание, аудитории, личный кабинет и Moodle в одном месте.

- ~14экранов на Compose
- ~1560расписаний в индексе
- 173аудитории в поиске
- 5тем виджета
- Задача
- Собрать в одном приложении то, что у вуза разбросано по трём сайтам: расписание, личный кабинет и Moodle.
- Пользователи
- Моя учебная группа пользуется приложением каждый день.
- Платформа
- Android 7.0+, Kotlin, Jetpack Compose, Material 3.
Избранное
Поиск
Расписание
КабинетПоиск свободных аудиторий
Фича, которой нет на сайте вуза
- Проблема
- API расписания не умеет искать по аудиториям. Чтобы узнать, свободна ли 303, нужно открыть расписания всех групп.
- Решение
- Приложение само строит индекс занятости на устройстве.
Приложение обходит расписания примерно 1560 групп и преподавателей, по 8 запросов одновременно, и складывает индекс «аудитория → когда занята». Индекс кэшируется в файл и работает без сети.
Как строится индекс аудиторий
1560расписаний обойдено
173аудиторий в индексе
- API вуза не умеет искать по аудиториям.
- Приложение обходит расписания всех групп и преподавателей, по 8 запросов одновременно.
- Из каждого занятия берётся аудитория и время.
- Индекс «аудитория → когда занята» сохраняется в файл и работает без сети.
Аудитории
АудиторияВход в личный кабинет
- Проблема
- Портал отклоняет вход у не-браузерных клиентов.
- Решение
- Вход через скрытый WebView, данные входа шифруются в Android Keystore.
Логин и пароль хранятся только на устройстве. Когда сессия истекает, приложение тихо входит заново.
Три облика
Основной, Газета и РГЭУ(РИНХ): у каждого своя светлая и тёмная тема, плюс динамические цвета Android 12+. Виджет на Jetpack Glance — ещё 5 тем.