Ю
Функционал (запросы):
1. Загрузчик.
o Передаем на сервер файл (картинка аватара JPG).
o Сохраняем картинку в каталоге на сервере.
o Ответ сервера - внутренний URI картинки.
2. Добавление нового пользователя.
o Передаем на сервер персональные данные пользователя (URI картинки, имя пользователя, email и т.д.).
o Сохраняем информацию в базе данных.
o Ответ сервера - уникальный ID нового пользователя.
3. Получение информации о пользователе.
o Передаем на сервер уникальный ID пользователя.
o Читаем информацию из базы данных.
o Ответ сервера - персональные данные пользователя (см. выше).
4. Изменение статуса пользователя (Online, Offline).
o Передаем на сервер уникальный ID пользователя и новый статус (Online, Offline).
o Изменяем статус пользователя.
o Ответ сервера - уникальный ID пользователя, новый и предыдущий статус.
Примечание: на сервере выполняется запрос к внешнему API/базе данных. Так как это упрощенное тестовое задание необходимо реализовать "заглушку” с имитацией обращения и задержкой по времени 5-10 сек.
5. Статистика сервера.
o Передаем параметры на сервер: 1. статус клиентов (Online, Offline или отсутствует), 2. уникальный ID (timestamp) запроса (может отсутствовать)
o Ответ сервера - список пользователей со статусами и URI картинки, а также уникальный ID (timestamp) запроса.
Примечание: Если в запросе есть параметры, то сервер должен фильтровать по ним свой ответ. Если в запросе есть уникальный ID (timestamp) запроса (полученный ранее), то сервер должен вернуть только пользователей, у которых изменились статусы после (по времени)этого уникального ID (timestamp).
Нумерация = запрос