SDK для разработки парсеров расписания вузов и передачи расписания в фиксированном формате на сервера приложения Кампус, для отображения в мобильных приложениях.
parser-sdk
- само SDK. Содержит все необходимые инструменты для создания парсеров.parser-tests-sdk
- SDK для написания тестов на парсеры.samples
- примеры парсеров, которые можно взять за основу своего парсера.
Разработка должна производиться через написание автотестов. Доступ к API Кампуса будет предоставлен только при наличии работающих тестов на созданный парсер.
Парсеры содержат несколько компонентов:
- Реализация
TimeTableIntervalCollector
- логика получения временных интервалов расписания - Реализация
EntitiesCollector
- логика получения списка сущностей (групп/преподавателей) - Реализация
ScheduleCollector
- логика получения расписания конкретной сущности - Наследник от
BaseParser
- сам парсер, в логике которого прописывается в каком порядке обращаемся к коллекторам, как полученные данные обрабатываем и в конечном итоге должны быть вызваны методыsaveEntity
(сохранить сущность на сервер Кампуса) иsaveSchedule
(сохранить расписание на сервер Кампуса).
В примере реализовано получение сущностей с сайта, с последующим обращением к API вуза. Расписание сущности полностью
считывается с API вуза. Разбирать пример рекомендуется начиная с тестов - в SPBSTUParserTest
описаны тесты где видно
какие запросы будет отправлять парсер и какие ответы ему будут выданы. Переходите внутрь вызываемых классов, чтобы
понять механику работы.