Skip to content

ast3am/wb-test

Repository files navigation

тестовое задание стажера wildberries

В БД:

  1. Развернуть локально postgresql
  2. Создать свою бд
  3. Настроить своего пользователя.
  4. Создать таблицы для хранения полученных данных.

В сервисе:

  1. Подключение и подписка на канал в nats-streaming
  2. Полученные данные писать в Postgres
  3. Так же полученные данные сохранить in memory в сервисе (Кеш)
  4. В случае падения сервиса восстанавливать Кеш из Postgres
  5. Реализовать REST ручку для получения данных по ID

Доп инфо: • Данные статичны, исходя из этого подумайте насчет модели хранения в Кеше и в pg.

• При написание сервиса руководствуйтесь правилами чистой архитектуры

• Модель в файле model.json

• В канал могут закинуть что угодно, подумайте как избежать проблем из-за этого

• Чтобы проверить работает ли подписка онлайн, сделайте себе отдельный скрипт, для публикации данных в канал

• Подумайте как не терять данные в случае ошибок или проблем с сервисом

• Nats-streaming разверните локально ( не путать с Nats )

информация о проекте

• база данных и nats-streaming разворачиваются с помощью docker-compose

• тестовые база данных и nats-streaming разворачиваются отдельно, с помощью docker-compose и после прохождения тестов удаляются

• настройки сервиса хранятся в файле config.yaml, настройки для тестов хранятся в файлах с тестами

• при первом запуске сервиса в базе данных создается одна запись с id = 1

• данные получаются по адресу http://localhost:8080/{id}

• для первичной проверки на функциональность сервиса приложен test-api.http файл

• любое пустое значение в данных считается не валидным

• тестирование запускаяется с помощью Makefile с флагом test

• сервис запускаяется с помощью Makefile с флагом run

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published