Skip to content

Программа для синхронизации пар из расписания НИУ ВШЭ с календарём

Notifications You must be signed in to change notification settings

Loskir/hse-ical

Repository files navigation

HSE iCal

Синхронизируй своё расписание с календарём!

Как известно, HSE App X позволяет настроить синхронизацию расписания с календарём, чтобы получить более тесную интеграцию с системой и другие плюшки. Но эта возможность доступна только на iOS, а пользователи Android остаются в стороне.

Этот проект работает почти так же хорошо, как синхронизация HSE App'а, но доступен для любой операционной системы.

Как воспользоваться

У проекта нет хостед версии, но любой желающий может захостить экземпляр для себя на своём сервере.

Чтобы пользователь мог запрашивать своё расписание, его email должен быть внесен в список доступа, который хранится в env-переменной EMAILS. Можно указать несколько почт, чтобы поделиться доступом, например, со своими одногруппниками.

В таком случае почты указываются через запятую: [email protected],[email protected]

Как запустить?

Понадобится сервер с общедоступным IP.

Через docker-compose

version: '3.7'
services:
  hse_ical:
    image: ghcr.io/loskir/hse-ical:master
    restart: always
    environment:
      PORT: 3000
      EMAILS: [email protected],[email protected]

Через docker

docker run -e PORT=3000 -e [email protected],[email protected] -d ghcr.io/loskir/hse-ical:master 

Через node

  1. Установить зависимости

yarn / npm install

  1. Создать .env файл c конфигурацией (образец есть в .env.example)

  2. Запустить

yarn distribute / npm run distribute

Как добавить календарь в приложение?

Android (Google Calendar)

Из самого андроид-приложения, похоже, добавить календарь нельзя. Поэтому придется зайти на https://calendar.google.com

Дальше Настройки → Добавить календарь → Добавить по URL. Дальше указать <адрес_сервера>/<почта>

iOS

Лучше пользуйтесь HSE App X. Но если очень хочется, то

Настройки → Календарь → Учетные записи → Учётные записи → Другое → Подписной календарь. Дальше указать <адрес_сервера>/<почта>

Как работает

Создаётся веб-сервер, который по запросу дёргает расписание на ближайшие две недели из API HSE App'а, собирает из него файл в формате .ics и отдаёт пользователю.

Ответы кешируются на час, чтобы не нагружать РУЗ.

TODO

  • Добавить аудиторию в событие
  • Понять, почему в Google Calendar не отображается ссылка на трансляцию

About

Программа для синхронизации пар из расписания НИУ ВШЭ с календарём

Resources

Stars

Watchers

Forks

Packages