Skip to content

kramlex/nsu-campus-parser-kotlin-sdk

 
 

Repository files navigation

Campus Parser SDK

SDK для разработки парсеров расписания вузов и передачи расписания в фиксированном формате на сервера приложения Кампус, для отображения в мобильных приложениях.

Структура репозитория

  • parser-sdk - само SDK. Содержит все необходимые инструменты для создания парсеров.
  • parser-tests-sdk - SDK для написания тестов на парсеры.
  • samples - примеры парсеров, которые можно взять за основу своего парсера.

Процесс разработки

Разработка должна производиться через написание автотестов. Доступ к API Кампуса будет предоставлен только при наличии работающих тестов на созданный парсер.

Структура парсеров

Парсеры содержат несколько компонентов:

  1. Реализация TimeTableIntervalCollector - логика получения временных интервалов расписания
  2. Реализация EntitiesCollector - логика получения списка сущностей (групп/преподавателей)
  3. Реализация ScheduleCollector - логика получения расписания конкретной сущности
  4. Наследник от BaseParser - сам парсер, в логике которого прописывается в каком порядке обращаемся к коллекторам, как полученные данные обрабатываем и в конечном итоге должны быть вызваны методы saveEntity (сохранить сущность на сервер Кампуса) и saveSchedule (сохранить расписание на сервер Кампуса).

Примеры

spbstu-parser

В примере реализовано получение сущностей с сайта, с последующим обращением к API вуза. Расписание сущности полностью считывается с API вуза. Разбирать пример рекомендуется начиная с тестов - в SPBSTUParserTest описаны тесты где видно какие запросы будет отправлять парсер и какие ответы ему будут выданы. Переходите внутрь вызываемых классов, чтобы понять механику работы.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 100.0%