Настройки проекта:
- Минимальная поддерживаемая iOS – 15
- Верстка кодом на UIKit
- Поддержка только iPhone
- Только портретная ориентация экрана
- Запрет на использование внешних библиотек
- Архитектура проекта – MVP
Описание функционала:
- Необходимо реализовать список подработок с возможностью выбора для дальнейшего бронирования.
- При нажатии на ячейку подработки происходит её выбор. Можно выбрать несколько таких ячеек. Выбор сопровождается изменением UI ячейки.
- Количество выбранных ячеек отображается в кнопке.
- Нажатие на кнопку «Забронировать» вызывает системный алерт с текстом «Вы заработали **** рублей» с указанием суммы заработка за все выбранные подработки.
- При отсутствии выбранных подработок кнопка становится неактивной и меняет текст на «Выберите подработки».
- На экране присутствует системный компонент для поиска.
- Поиск фильтрует содержание списка по названию профессии и названию работодателя.
- Поиск не сбрасывает состояние выбранных подработок.
- Для создания списка используется UICollectionViewCompositionalLayout и UICollectionViewDiffableDataSource.
- Для моделей данных использовать строго структуры. Не менять свойства моделей напрямую из ячеек.
- Реализовать восстановление состояния выбранных подработок после перезапуска приложения через UserDefaults.
Ресурсы:
- Figma: vk.cc/cs9XzN
- API-запрос: http://185.174.137.159/jobs