Skip to content

Imsamaboy/wiki-service

Repository files navigation

Инструкции по запуску сервиса для поиска статьи

Intro:

К REST контроллеру был добавлен OpenApi Swagger. По соответствующим урлам можно посмотреть документацию по данному сервису.

http://localhost:8080/v1/swagger

Для хранения данных использовалась субд Postgresql.

Для импорта дампа википедии был написан скрипт import_data.py на Python, т.к. это было очень быстро и удобно.

Для контейнеризации был использован Docker. В корне проекта находится файл docker-compose.yml, который разворачивается на localhost три контейнера. В первом контейнере находится образ субд Postgresql, во втором крутится REST API сервис по поиску статьи, а в третьeм один раз выполняется скрипт по заполнению данных в первый контейнер. :)

По смысловой составляющей было реализовано:

  • Получение статьи в формате single line json
  • Получение статьи в формате pretty json
  • Вывод статистики по количеству статей для каждой категории (в формате json)
  • Редактирование (замена на новые данные) полей статьи (timestamp записывается от now())
  • С визуализацией на HTML странице немного не успел по дедлайну, но я её доделаю в ближайшее время.

Ссылка на проект на github: github.com/Imsamaboy/wiki-service Только там нету дампа вики, т.к. данные слишком большого размера.

Инструкция по запуску проекта

  1. Распокавать архив с решением
  2. В корне проекта, где находится файл docker-compose.yml открыть терминал
  3. в терминале прописать docker-compose build --no-cache
  4. после билда прописать docker-compose -f docker-compose.yml up После данных действий всё приложение развернётся на вашей системе и можно будет совершать запросы к сервису по http://localhost:8080/wiki/...

Возможные проблемы при запуске билдов

  • не установлен Docker
  • не установлен docker-compose
  • вы не залогинены в терминале и надо прописать docker login
  • порты 8080 или 5432 уже находятся в использовании другими сервисами
  • Ошибка рода: docker.credentials.errors.StoreError: Credentials store docker-credential-desktop exited with "error listing credentials - err: exit status 1...
    Решение: надо зайти в папку .docker и поменять в файле config.json поле credsStore на credSstore и сохранить изменения и выполнить ещё раз docker login.

Telegram: @Sfelshtyn