Skip to content

Latest commit

 

History

History
58 lines (39 loc) · 2.97 KB

File metadata and controls

58 lines (39 loc) · 2.97 KB

Awesome Task Exchange System

Система представляет из себя таск-трекер для постановки задач за выполнение которых выплачивается вознаграждение сотрудникам.

Она состоит из 4 независимых сервисов:

  • auth: единый сервис аутентификации, используется OAuth 2
  • tasks: сервис в котором создаются задачи и назначаются исполнители
  • accounting: биллинг сервис в котором осуществляются выплаты за выполненые задачи
  • analytics: сервис аналитики

Всё взаимодействие между сервисами, за исключением процесса аутентификации, выполняется асинхронно с использованием в качестве message broker-а Kafka.

Система создана в рамках курса по асинхронной архитектуре.

Запуск

Для запуска системы достаточно выполнить:

docker-compose up

Если нет необходимости запускать всю систему целиком, а требуется только какой-то конкретный сервис, то можно это сделать командой:

docker-compose up tasks

где tasks это имя сервиса. Это запустит сам сервис и необходимые для его работы зависимости.

Тестирование

В CI настроен автоматический прогон тестов для всех сервисов, он запускается при открытии PR.

Для локального запуска тестов необходимо выполнить:

docker-compose run tasks bundle exec rspec

где tasks это имя сервиса. Это запустит все тесты для указанного сервиса. Системные тесты будут запущены с использованием браузера по умолчанию - Google Chrome.

Имееется возможность запуска системных тестов с альтернативными браузерами, для этого необходимо выставить пару переменных окружения. Пример использования браузера Mozilla Firefox:

docker-compose run -e TEST_BROWSER=firefox -e TEST_BROWSER_URL=http://firefox-server:4444 tasks bundle exec rspec

Для отладки можно использовать VNC. Google Chrome доступен по адресу http://localhost:7900. Mozilla Firefox по http://localhost:7901. См. файл docker-compose.yml.