Этот API предоставляет возможность генерировать расписание в формате JSON или iCalendar (ICS) с поддержкой временной зоны 'Europe/Moscow'. Он построен на базе Node.js с использованием фреймворка Express и библиотеки 'ical-generator'.
Как этим пользоваться?
Все начинается с того на какой платформе вы хотите использовать мое поделие
- Android c использованием Google Календаря
- Android с внешним приложением (ICS-подписка)
- Samsung (через встроенное приложение Календарь)
- iPhone/iOS
- iMac/MacBook - macOS
Основные маршруты
'GET /gen'
Генерация расписания для указанной группы в формате JSON или ICS.
Параметры запроса:
- 'group' (обязательный): Название группы.
- 'type' (обязательный): Формат ответа. Возможные значения:
- 'json': Возвращает расписание в формате JSON.
- 'ics': Возвращает расписание в формате ICS для одного дня.
- 'ics-week': Возвращает расписание в формате ICS на неделю.
- 'date' (опциональный): Дата в формате 'YYYY-MM-DD'. Если не указана, используется текущая дата.
- 'tomorrow' (опциональный): Если установлено в 'true', используется завтрашняя дата.
- 'subgroup' (опциональный): Подгруппа (если применимо).
Пример запроса:
GET /gen?group=CS101&type=json&date=2023-10-01
Пример ответа (JSON):
[ { "time": "10:00-11:30", "name": "Математика", "type": "Лекция", "teacher": "Иванов И.И.", "classroom": "Ауд. 101", "subgroup": null } ]
Пример ответа (ICS):
Файл '.ics' с событиями, соответствующими расписанию.
Особенности
- Поддержка временной зоны 'Europe/Moscow' через 'TZID'.
- Возможность генерации расписания на один день или на неделю.
- Фильтрация занятий по наличию времени ('time').
- Удобный экспорт расписания в формате iCalendar для интеграции с календарями.
GUI
Для удобного использования API доступен графический интерфейс по адресу api.durka.su/gui. Интерфейс позволяет выбирать параметры запроса, такие как группа, формат, дата, подгруппа и другие, а также генерировать ссылки для получения расписания.
Проект находится на GitHub