Test task in KubanKredit
Тестовое задание – мобильное приложение
Срок исполнения: 5 дней от момент получения. Результат разместить в публичном репозитории GitHub
Исходные данные:
- сервер с определенным адресом (по умолчанию - https://portal.kubankredit.ru, при необходимости сертификат для https можно выгрузить непосредственно с сервера через любой браузер)
- endpoint на сервере (по умолчанию - /backend/rest/stateful/personal/ping), в ответ на запрос (по умолчанию GET) возвращается ответ с определенным HTTP статусом (по умолчанию 200 – все хорошо, 500 – ошибка, 401/461 - предупреждение).
Базовое требование: Реализовать приложение, которое будет по таймеру опрашивать заданный endpoint и сигнализировать о состоянии ответа. Приложение должно выводить лог текущего процесса проверки в виде области со скроллингом.
Плюсы при выполнении:
- 1 уровень:
- Возможность запуска, остановки или приостановке процесса проверки; +
- Возможность очистить лог; +
- Возможность «поделится» логом через стандартный механизм ОС (можно текстом, можно в виде файла); +
- Приложение работает в фоне без потери работоспособности (исключая ситуацию принудительного закрытия); +
- 2 уровень:
- Настройки не заданы жестко, а прописаны в конфигурационном файле, который вычитывается при старте приложения или при перезапуске проверки;
- Есть возможность задать настройки: адреса, порта и endpoint сервера; типа HTTP-запроса (GET, POST, PUT и т.п., текстом или нумератором); статусов и цвета индикации в логе всех трех типов ответов; таймаута оповещения при недоступности сервера (например, 4 подряд неуспешных запросов выводят уведомление стандартным механизмом ОС); таймаута опроса сервера (например, посылать запрос каждые 5 секунд); +
- Есть возможность редактирования/задания новых настроек непосредственно из приложения; +
- 3 уровень:
- Есть возможность задать несколько серверов одновременно и проводить опрос параллельно; +
- Нотификация в другое приложение (токен нотификации вводится в текущее приложение вручную). Прием нотификации от другого приложения;