Как известно, HSE App X позволяет настроить синхронизацию расписания с календарём, чтобы получить более тесную интеграцию с системой и другие плюшки. Но эта возможность доступна только на iOS, а пользователи Android остаются в стороне.
Этот проект работает почти так же хорошо, как синхронизация HSE App'а, но доступен для любой операционной системы.
У проекта нет хостед версии, но любой желающий может захостить экземпляр для себя на своём сервере.
Чтобы пользователь мог запрашивать своё расписание, его email должен быть внесен в список доступа, который
хранится в env-переменной EMAILS
. Можно указать несколько почт, чтобы поделиться доступом, например, со своими одногруппниками.
В таком случае почты указываются через запятую: [email protected],[email protected]
Понадобится сервер с общедоступным IP.
version: '3.7'
services:
hse_ical:
image: ghcr.io/loskir/hse-ical:master
restart: always
environment:
PORT: 3000
EMAILS: [email protected],[email protected]
docker run -e PORT=3000 -e [email protected],[email protected] -d ghcr.io/loskir/hse-ical:master
- Установить зависимости
yarn
/ npm install
-
Создать
.env
файл c конфигурацией (образец есть в.env.example
) -
Запустить
yarn distribute
/ npm run distribute
Из самого андроид-приложения, похоже, добавить календарь нельзя. Поэтому придется зайти на https://calendar.google.com
Дальше Настройки → Добавить календарь → Добавить по URL. Дальше указать <адрес_сервера>/<почта>
Лучше пользуйтесь HSE App X. Но если очень хочется, то
Настройки → Календарь → Учетные записи → Учётные записи → Другое → Подписной календарь.
Дальше указать <адрес_сервера>/<почта>
Создаётся веб-сервер, который по запросу дёргает расписание на ближайшие две недели из API HSE App'а, собирает из него файл в формате .ics и отдаёт пользователю.
Ответы кешируются на час, чтобы не нагружать РУЗ.
- Добавить аудиторию в событие
- Понять, почему в Google Calendar не отображается ссылка на трансляцию