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