Published using Google Docs
Тестовая задача на вакансию разработчика
Updated automatically every 5 minutes

Тестовая задача

Modern empty medical doctor office - Health care concept

Задача: создать сервис, выполняющий 2 задачи:

  1. Входные данные

  1. СУБД - PostgreSQL.
  2. Библиотека для работы с СУБД knex.js
  3. Описание типов - typescript или jsDoc.
  4. Endpoint: https://common-api.wildberries.ru/api/v1/tariffs/box 

(Тарифы для коробов )

  1. Обращение к google-таблицам для выгрузки данных из PostgreSQL должно производится по их идентификатору. Количество таблиц - N.
  2. Приложение запускается и работает в docker контейнерах.

  1. Тезисный план решения задачи:

  1. Настроить Docker и подготовить compose файл.
  2. Разобрать структуру данных api “Тарифы коробов”, выбрать разумную форму хранения данных в БД.
  3. Подготовить миграции для базы данных.
  4. Написать логику для получения данных по API WB
  1. Ежечасное получение данных по api “Тарифы коробов” .
  2. Данные о тарифах накапливать в БД для каждого дня.
  3. Информация, получаемая ежечасно в течение одного дня, должна обновлять уже имеющиеся на этот день данные.
  1. Создать механизм доставки данных из БД в произвольное количество google-таблиц.
  1. Данные о тарифах в google таблицах должны регулярно обновляться (тестовые таблицы создать самостоятельно, лист для тарифов - stocks_coefs).
  2. Данные отсортировать по возрастанию коэффициента.
  1. Код необходимо разместить на GitHub.
  1. Репозиторий должен содержать код приложения, compose конфигурацию для docker и readme с исчерпывающей инструкцией для запуска.
  2. В репозиторий сразу добавить файлы конфигурации в которых будут отсутствовать чувствительные данные.
  3. Само приложение должно запускаться в контейнерах, для запуска должно быть достаточно выполнить команду docker compose up.

Токен WB API будет выдан на сайте hh.ru после подтверждения готовности  выполнить задачу в указанный дедлайн.

  1. Результат

Готовая задача - это репозиторий на GitHub, который содержит: 

1) код приложения.
        2)
compose файл для docker
        3) readme с исчерпывающей инструкцией для запуска.

Если необходимо, то описать способ проверки функционирования приложения.

В репозиторий сразу добавить заготовки файлов конфигурации, в которых будут отсутствовать чувствительные данные.

В конфигурации DB пользователя, пароль и название БД прописать - postgres, не нужно ничего придумывать т.к это тестовое задание 🙂.

Само приложение должно запускаться одной командной docker compose up и не требовать никаких дополнительных манипуляций.

Для подключения к db предпочтительнее использовать knex или pg

Для уменьшения трудоемкости выполнения задачи и ускорения процесса её проверки, предлагаем воспользоваться шаблоном проекта btlz-wb-test. Тестовые задания, выполненные на его основе, проверим в приоритетном порядке.

По готовности - необходимо прислать ссылку на Git в сообщении на HH 👍