Skip to content

beglov/microservices-task-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Awesome Task Exchange System

Resources

Stars

Watchers

Forks