Мобильный клиент на для Unsplash
Состоять из двух экранов:
- Экрана поиска медиа-контента
- Экрана с детальной информацией, который отображается после нажатия на элемент из результатов поиска
- Отображает строку ввода поискового запроса
- Сохраняет историю поиска (до пяти последних запросов)
- В момент начала ввода отображаются элементы-подсказки с ранее введенными значениями. По мере ввода символов подсказки фильтруются по вхождению без учета регистра.
- Поисковый запрос выполняется по завершении ввода при помощи элементов управления клавиатуры
- Результаты поиска представлены на экране в виде «плиток», расположенных в два столбца.
- В каждом элементе поисковой выдачи отображено превью-изображение и описание.
- С экрана поиска должен открываться экран детальной информации по нажатию на элемент поисковой выдачи.
- Возможность применения фильтров по формату отображения контента (2 плиточки в ряд или одна большая).
- Возможность сортировки контента по популярности или дате размещения.
- Реализованна паггинация поиска.
- Изображение контента.
- Описание контента.
- Информация об авторе контента.
- Функции "Поделиться изображением", например с другом (отправить фото в телеграмм, vk и тд).
- Функции "Сохранить изображение" в галерею.
- Каждый экран поддерижвает отображение трёх состояний:
- Отображение контента
- Отображение ошибки
- Состояние загрузки
- Локализация на два языка
- Русский
- Английский
- Поддержика темный темы
- Поддержка Voice Over
API - Unsplash API
- Swift 5
- UIkit
- URLSession
- Async/await
- URLCache
Архитектура: VIPER