Skip to content

Serfodi/SerfodiMediaGallarey

Repository files navigation

Фотогалерея

Мобильный клиент на для Unsplash

Описание

Состоять из двух экранов:

  1. Экрана поиска медиа-контента
  2. Экрана с детальной информацией, который отображается после нажатия на элемент из результатов поиска

Экран поиска

  1. Отображает строку ввода поискового запроса
  2. Сохраняет историю поиска (до пяти последних запросов)
  3. В момент начала ввода отображаются элементы-подсказки с ранее введенными значениями. По мере ввода символов подсказки фильтруются по вхождению без учета регистра.
  4. Поисковый запрос выполняется по завершении ввода при помощи элементов управления клавиатуры
  5. Результаты поиска представлены на экране в виде «плиток», расположенных в два столбца.
  6. В каждом элементе поисковой выдачи отображено превью-изображение и описание.
  7. С экрана поиска должен открываться экран детальной информации по нажатию на элемент поисковой выдачи.
  8. Возможность применения фильтров по формату отображения контента (2 плиточки в ряд или одна большая).
  9. Возможность сортировки контента по популярности или дате размещения.
  10. Реализованна паггинация поиска.

Экрана с детальной информацией:

  1. Изображение контента.
  2. Описание контента.
  3. Информация об авторе контента.
  4. Функции "Поделиться изображением", например с другом (отправить фото в телеграмм, vk и тд).
  5. Функции "Сохранить изображение" в галерею.

Нефункциональные функции

  1. Каждый экран поддерижвает отображение трёх состояний:
    • Отображение контента
    • Отображение ошибки
    • Состояние загрузки
  2. Локализация на два языка
    • Русский
    • Английский
  3. Поддержика темный темы
  4. Поддержка Voice Over

Технологии

API - Unsplash API

  • Swift 5
  • UIkit
  • URLSession
  • Async/await
  • URLCache

Архитектура: VIPER

About

Клиент для Unsplash

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages