Интеграция существующего Go-сервиса с каталогом Мир Квестов

Цена договорная
09 июля 2024, 11:34 • 5 откликов • 25 просмотров
Необходимо доработать существующий Go-сервис для интеграции с каталогом Мир Квестов https://mir-kvestov.ru/

Мы ищем человека для долгосрочного сотрудничества: после успешного выполнения этой задачи потребуется похожим образом реализовать интеграции в сервисы Клаустрофобии, Яндекс Афиши и Тинькофф Города, а также множество других задач, связанных с развитием сети пиксельных игровых Pixel Quest, вплоть до разработки собственной системы бронирования.

ТЗ с принципиальной схемой см. в гугл доке https://docs.google.com/document/d/1hvnPAPb4KZTGqpkKvrCNLCO8Wo54E6qFk3uK_gn7vsU/edit

Дано:
  1. Go-сервис с именем “visitors-manager”, развернутый в Docker Compose на собственном VPS;
  2. Реализован API-вебхук (1) для приема бронирований от внешнего сервиса онлайн записи Букза (клиенты бронируют через виджет на сайте);
  3. Реализован API заказов (5) для отдачи всех бронирований в интерфейс на планшет администратора;
Что требуется сделать:
  1. Реализовать API для отдачи расписания Миру Квестов (2) по их документации https://docs.google.com/document/d/16wKHuHSGl7T70S...
  2. Реализовать API-вебхук для приёма бронирований от Мира Квестов (3) по той же документации (см. раздел Бронирование);
  3. Реализовать запрос в Букзу для бронирования (4) – этот пункт самый “сложный”, т.к Букза не предоставляет публичный API и придется разобрать их внутреннее API и сделать имитацию запроса с обычным пользовательским токеном. Тут будет важно понять, как часто протухает токен и как его держать актуальным + правильно обрабатывать ошибки на случай внезапного изменения API для своевременного реагирования (уже настроен механизм сбора логов в Loki + алерты в Телеграм).
Ожидаем от исполнителя:
  1. Уверенные знания языка Go, СУБД PostgreSQL, Linux и Docker;
  2. Понимание принципов построения Rest API, процессов CI/CD, мониторинга и сбора логов;
  3. Умение работать самостоятельно в условиях отсутствия внутренней документации на сервис и его зависимости, придётся разбираться в чужом коде;

Файлы