Warning
Работайте только в implementation папке. Нельзя менять название типов, переменных, методов. Можно расширять типы и реализовывать логику в пустых методах. Новые сущности можно добавлять в implementation
Вы пришли в команду, которая работает над запуском нового сервиса СуперВыгода, с помощью которого можно экономить на покупках. Основа сервиса – спецпредложения (кэшбэк с покупок или бонусы программы лоаяльности) у партнеров.
Команда новая и над проектом до вас работал спецаилист, который по непредвиденным обстоятельсвам покинул компанию. Теперь вы на страже запуска проекта 🦸♂️ Вам предстоит доделать недостоющий функционал и исправить имеющийся.
Первая версия приложения состоит из:
- Главный экран – тот что встречает при старте приложения. Он состоит из:
- Рекламного баннера
- Виджет пользователя, где отображаются его имя и текущий баланс бонусного счета
- Виджет избранного, где отображается счетчик понравившехся предложений
- Список рекомендуемых спецпредложений. Здесь показывается краткая информация о доступных бонусных программах, которые можно лайкнуть и сохранить в избранное
- Экран деталей спецпредложений. Данный экран открывается при нажатии на элемент списка на главном экране и отображает детальные данные о выбранном спецпредложении.
Проект представляет из семя многомодульное приложение. предыдущий разработчик оставил свой код в папке App модуля Solution. Ваша задача испольуя данный код реализовать недостающие сущности.
Так же в проекте добавлен базовый модуль ProdMobileCore. Изучите его и используйте при решении задач.
- Задача 1 ➡️ ~6%
- Задача 2 ➡️ ~7%
- Задача 3 ➡️ ~4%
- Задача 4 ➡️ ~14%
- Задача 5 ➡️ ~27%
- Задача 6 ➡️ ~9%
- Задача 7 ➡️ ~14%
- Задача 8 ➡️ ~5%
- Задача 9 ➡️ ~6%
- Задача 10 ➡️ ~8%
Решать все не обязательно. Чем больше баллов вы наберете, тем больше ваш шанс
Решение задания – реализация отдельного класса. Поэтому ваше решение ожидается в соответсвующих методах класса SolutionAssemlby.
Требования к оформелнию отедльных задач указаны в их описании.
Для всех изображений необходимо проставлять scaleAspectFit
.
Для всех методов базовый url – https://prodcontest-ios.ru
- Язык – Swift
- Пользовательский интерфейс – UIKit
- [Рекомендуется] Xcode 14.1
Все эталонные снимки даны для Xcode 14.1, iOS 16.1, iPhone 11