Skip to content

msmkdenis/wb-order-nats

Repository files navigation

Сервис обработки заказов

Система предназначена для обработки поступающих из NATS streaming заказов. Представлены 2 сервиса

  • Сервис обработки заказов wborder (основной)
  • Сервис отправки сообщений в Nats streaming natsproducer

Краткое описание:

  1. В сервисе natsproducer доступно api для отправки заказов (без ошибок и с ошибками)
  2. В сервисе wborder доступно api для поиска заказа по id, получения всех заказов, просмотра статистики обработки
  3. Основной сервис асинхронно обрабатывает поступающие заказы.
  4. Реализован простейший cache в виде map (TODO заменить на redis)
  5. Конфигурация сервиса через соответствующие env файлы или docker-compose файл
  6. Реализованы тесты с использованием testcontainers (требуется docker TODO дополнить и расширить)

Используемые технологии:

  • PostgreSQL/pgx
  • Docker/Docker compose
  • NATS Streaming/stan
  • Echo
  • golang-migrate/migrate
  • testcontainers, testify
  • go-playground/validator

Запуск проекта

Запуск возможен в т.ч. с использованием

  1. Скопировать проект git clone
  2. Выполнить команду из корня docker compose up

Для тестирования приложения можно воспользоваться коллекцией postman запросов

Схема базы данных (в т.ч. скрипт создания бд). schema.png

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published