Необходимо внедрить макет экрана из готового дизайна (figma) в действующее мобильное приложение. Приложение работает через API, описание API есть.
Экран позволяет пользователям ознакомиться с предложением (текст и фотографии), связаться с организатором или отправить ему смс и проголосовать за понравившийся им вариант даты и времени события, а так же убрать голос, если он вдруг передумал (скриншот прилагаю)
по устройству приложения:
Системные зависимости:
- cocoapods для установки внешних библиотек
- generamba для создания новых модулей (модуль == экран приложения)
Библиотеки в приложении:
- moya для работы с сетью
- snapkit для верстки без использования .xib файлов (.xib-ы остались только у совсем старых разделов, которые еще на objective c написаны)
- R swift для работы с ресурсами (строки, шрифты, изображения)
- kingfisher для кэширования картинок (там на самом деле есть еще одна какая то, но думаю от нее со временем правильнее было бы уйти)
- netfox для отладки, собирает логи всех запросов. Достаточно потрясти телефон и покажется полный лог всех сетевых запросов, которыми кидалось приложения
Устройство приложения:
- в приложении сейчас есть 3 схемы: Debug, Beta и Release. Дебаг для разработки, Beta - для отправки билдов в testfliight, release - для выкладки в AppStore
- в новых модулях используется архитектура VIPER, но с небольшим отличием: Interactor заменен на UseCase - это атомарная операция по получению каких либо данных (скачка из сети, получение из БД, либо вообще аввтоматическая генерация). UseCase-ы могут переиспользовватся в разных модулях
- в проекте пока остается достаточнно большое число исходников на objective, от части мне удалось избавиться, но большая часть еще остается. Это в принципе ни на что не влияет, старые исходники имеют значение только для части сетевых запросов и может каких-то legacy элементов интерфейса