Библиотека Node JS для поиска в каталогах публичных библиотек Великобритании. Он был разработан для использования в других проектах, которым необходимо выполнять поиск по нескольким библиотечным каталогам.
В Великобритании существует около 200 служб публичных библиотек, каждая из которых имеет свою собственную систему управления библиотекой и связанный с ней онлайн-каталог публичного доступа (OPAC), за исключением некоторых, которые используют общие системы.
Несмотря на такое большое количество, существует относительно немного типов библиотечных систем и меньше поставщиков. Целью этого проекта является определение взаимодействия с каждым типом веб-каталога для автоматизации общих процессов. Например, поиск книги.
Это предоставит возможности агрегирования данных, например, возможность запросить всю Великобританию о наличии конкретной книги. Или он может предоставить функциональные возможности для управления учетной записью пользователя во всех его учетных записях библиотеки, например автоматическое продление книг.
Список органов публичных библиотек Великобритании включен в файл data.json . Здесь указывается имя органа библиотеки и тип библиотечной услуги, а также конкретные данные, необходимые для поиска по этой службе, например веб-URL.
Он включает код GSS для каждого органа власти. Это позволяет комбинировать его с другими наборами данных, которые могут быть опубликованы где-либо еще.
Например:
Имя | Код | Тип | URL-адрес |
---|---|---|---|
Абердин Сити | S12000033 | спидус | https://aberdeencity.spydus.co.uk/ |
Для управления пакетами в проекте используется Node Package Manager (NPM). При загрузке копии проекта должны быть установлены необходимые зависимости. Предполагая, что Node уже установлен, для сборки:
npm install
Запустите их с помощью Jest. Для каждой библиотечной службы в tests.json
определены пять номеров ISBN. Для успешного прохождения тестов требуется только один поиск ISBN (поскольку книги могут выйти из обращения, и мы не хотим, чтобы автоматические тесты часто завершались неудачно по нефункциональным причинам).
В проекте реализованы следующие методы
Метод | Описание |
---|---|
Услуги | Возвращает сохраненные данные о библиотечных услугах (органах). |
Библиотеки | Возвращает информацию о филиале/местоположении, взятую из онлайн-каталога. |
Доступность | Возвращает доступность конкретной книги. |
Возвращает выбранное содержимое файла data.json для каждого сервиса. Это может быть полезно, если разработчик хочет создать интерфейс, в котором в фильтре перечислены полномочия библиотеки.
Метод | Описание |
---|---|
.services(serviceFilter) | Возвращает список авторитетов библиотеки. Фильтр услуг фильтрует по имени или коду и является необязательным. |
Возвращает список точек библиотечного обслуживания в каждой библиотечной службе. Это могут быть передвижные библиотеки и различные помещения внутри отдельных зданий.
Метод | Описание |
---|---|
.libraries(serviceFilter) | Возвращает список библиотек для каждого сервиса. Фильтр услуг фильтрует по имени или коду и является необязательным. |
Возвращает данные, показывающие количество доступных/недоступных копий соответствующего названия в каждой точке библиотечного обслуживания для каждой библиотечной службы.
Метод | Описание |
---|---|
.availability(isbn, serviceFilter) | Получает доступность определенного названия, передавая ISBN. Фильтр услуг фильтрует по имени или коду и является необязательным. |
Оригинальный код, лицензированный по лицензии MIT.