Разработать кроссплатформенный сервис, который подключается к серверу

!!! Обязательное условие !!! Подписывается соглашение о конфиденциальности. Шаблон прикреплён.

Задача:

Разработать кроссплатформенный сервис, который подключается к серверу, сообщает свое состояние, выполняет полученные от сервера команды.

Требования:

  • Платформа разработки Go.
  • Платформы, на которых функционирует сервис: Windows, MacOS, Ubuntu.
  • Возможность задать адрес подключения API и интервалы опроса в настройках сервиса.
  • Логирование с различными уровнями: Information, Debug.
  • API: https://panteam.pro/ksbim/stage-1/api/swagger/
СМОТРИ РИСУНОК "API"

  • Сервис должен функционировать как служба на ОС Windows, как агент или демон на ОС MacOS и ОС Ubuntu.
  • На панели инструментов ОС необходимо отображать иконку при нажатии на которую можно увидеть следующую информацию:
    • Адрес до API.
    • Статус службы вкл/выкл с возможностью переключения.
    • Выполненные команды (дата и время выполнения).
    • Открыть папку с логами.
  • Пользовательский опыт работы со службой и иконкой должен быть похож на ПО Tailscale.
СМОТРИ РИСУНОК "Tailscale"

  • Выполняемые команды от сервера
    • Shutdown - выключение компьютера. Если в списке команд для службы от сервера есть эта команда, то необходимо выключить компьютер. При включении службы проверять если нет подключения до сервера, и команда, полученная от сервера, была выключить, то выключить компьютер, если от сервера в полученных командах нет Shut down, то не выключать компьютер.
    • ShutdownNetwork - отключение сетевых интерфейсов компьютера.

Бонусы:

1) Завершение задачи до 12.08.2024 16:00 по Московскому времени - 5 000 рублей;
2) Код покрыт юнит тестами:
  • Более 30% - 5000 рублей;
  • Далее 3000 рублей за каждые дополнительные 10%.

Читайте на 123ru.net