2

Поисковый клиент Википедии

Поисковый клиент Википедии

Всем привет!


В рамках изучения фреймворка Vue.js реализовал небольшой сервис поиска по Википедии.

Приложение представляет собой веб-клиент с визуальным веб-интерфейсом, позволяющий производить поиск по списку статей в Википедии в пространстве имён Википедии "Статьи" и поиск по имени файлов изображений. Реализована маршрутизация между вкладками с сохранением в URL параметров запроса и возможностью подгрузки данных после нативной браузерной перезагрузки страницы (воспроизведение состояния после перезагрузки).


В приложении реализована серверная часть на node.js, позволяющая запустить публичный http-сервер, принимающий запросы от веб-клиента, передающий их программному интерфейсу приложения (ПИП, API), который, в свою очередь, обращается к ПИП Википедии, обрабатывает полученные от Википедии данные, после чего http-сервер возвращает обработанный ответ веб-клиенту.


Однако есть ограничения. Несмотря на то, что ПИП Википедии довольно хорошо описан, не всегда есть возможность сформировать оптимальный запрос, что связано с особенностью архитектуры ПИП Википедии. Например, насколько известно, нет возможности (или я не нашёл способ) получить одновременно название статьи, краткое описание и ссылку на страницу, в связи с чем в текущей реализации для комбинации перечисленных данных на уровне промежуточного ПИП используются 3 вида запросов, что, конечно же, неоптимально.

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

В реальности для получения основных данных по 10 статьям (название, описание, ссылка) будет сделан 21 запрос к ПИП Википедии:


- запрос случайных статей

- запрос на каждую статью отдельно на основе id

- запрос выдержки (extracts) из каждой статьи


Демо можно посмотреть тут: wikisearch.finecode.ru

В демо-версии есть ограничения на количество запросов с одного ip - не более 20-и запросов в час.


Проект может быть использован как учебный для изучения технологий Vue.js, Redux, Node.js.

Развитие, доработка, оптимизация и улучшения приветствуются.


Репозиторий

Рабочий экземпляр

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества