GitHub - pr-service


О проекте

Сервис решает задачу автоматического распределения ревьюеров при создании Pull Request’ов. Основная цель — исключить ручное согласование и ускорить код-ревью за счёт автоматического выбора ревьюеров из команды автора.

Ключевой функционал

Управление командами. Каждый пользователь состоит в команде. Ревьюеры назначаются только из команды автора PR, что гарантирует релевантность ревью.

Гибкое управление доступностью. Статус активности пользователя позволяет исключать из пула ревьюеров сотрудников в отпуске или временно недоступных.

Автоматическое назначение. При создании PR сервис автоматически назначает до двух ревьюеров из числа активных участников команды автора.

Переназначение. Если назначенный ревьюер по каким-то причинам не может участвовать, система позволяет заменить его на другого активного участника той же команды.

Аналитика. Сервис предоставляет статистику по активности ревьюеров и общую информацию по Pull Request’ам для оценки нагрузки и процессов.

Архитектурные решения

Логика разделена на доменные области:

  • Управление командами
  • Управление пользователями
  • Обработка Pull Request’ов
  • Сбор статистики

Технологии

  • Go 1.22+
  • PostgreSQL
  • Docker