Giter Site home page Giter Site logo

wldbrs-l0's Introduction

Тестовое задание L0 Wildberries


Демонстрация работы задания https://disk.yandex.ru/i/WuHPujp82Fi_lg

Условие:


В БД:

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

В сервисе:

  1. Подключение и подписка на канал в nats-streaming
  2. Полученные данные писать в Postgres
  3. Так же полученные данные сохранить in memory в сервисе (Кеш)
  4. В случае падения сервиса восстанавливать Кеш из Postgres
  5. Поднять http сервер и выдавать данные по id из кеша
  6. Сделать простейший интерфейс отображения полученных данных, для их запроса по id

Запуск:


Запуск сервиса

make start-docker
make run-subscriber

Запуск издателя (Docker должен быть запущен make start-docker)

make run-publisher

Тесты

make test

Остановка Docker

make stop-docker

Работа:


Основной конфиг расположен в server-subscriber/config/config.yml. Конфиг издателя в const в main файле.

По умолчанию доступ к данным в кэше через http осуществляется следующим запросом: localhost:8181/orders/{id}

Для записи данных в NATS необходимо указать путь к файлу JSON с моделью. Данные для проверки лежат в директории testdata.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.