Avito: Тестовое задание для стажёра iOS
Приложение представляет собой 2 активных экрана: экран с объявлениями и экран с детальной информацией.
- Swift UIKit, разработка проводилась для устройств iOS 13.0 +
- Архитектура Model-View-Presenter (MVP)
- UICollectionView, UICollectionViewDataSource, UICollectionViewDelegate
- URLSession, cетевой слой реализован с помощью EndPoints
- Нажмите на зеленую кнопку в правой части экрана с надписью Code и выпадающем меню выберите удобный способ для сохранения данных приложения. Рекомендую использовать Donwload ZIP.
- Установите XCode на компьютер если он не установлен, если приложение установлено пропустите этот шаг.
- Запустите проект с помощью файла AvitoPracticalTask.xcodeproj
Главный экран с коллекцией объявлений. Долгое нажатие на ячейку открывает меню контекстных действий (например удаление ячейки)
Во время загрузки изменяется визуальное наполнение ячеек используется SkeletonCell, в момент наполнения изображениями используется ActivityIndicator. Для обновления данных таблицы осуществляется свайп коллекции. Данные картинок не хранятся в кэше, так как в рамках задания это указано не было.
Экран с детальной информацией содержит изображение цену, информацию, название, адреса и мини карту, с точными координатами полученными в ходе работы с данными. Реализована возможность совершение звонка.