Основы вёрстки, сетевого взаимодействия и хранения данных
Проект этого модуля — одностраничное приложение с квизами о фильмах из топ-250 рейтинга самых популярных фильмов IMDb. Пользователь приложения последовательно отвечает на вопросы о рейтинге фильма. По итогам каждого раунда игры показывается статистика о количестве правильных ответов и лучших результатах пользователя. Цель игры — правильно ответить на все 10 вопросов раунда.
Для пользователей приложение — это прежде всего работа с интерфейсом, который вы для них и делаете. В рамках работы над приложением вы сверстаете экран квиза, освоите HTTP и REST для работы с API IMDb, научитесь хранить данные пользователя и напишете свои первые тесты.
Задачи и проект в этом модуле будут сначала проходить через самостоятельную проверку по чек-листу, а затем отправятся к код-ревьюеру.
Спринт 3.
Тема 1. Git.
Тема 2. Обзор проекта.
Тема 3. Знакомство с интерфейс билдером.
Тема 4. Связь сториборда и кода.
Задачи по спринту 3.
— создадите свой первый Pull Request в Git.
— создадите тренировочный экран с изображением и кнопкой.
— сделаете тренировочное приложение-счётчик, на экране которого будет текстовый элемент и кнопка.
Спринт 4.
Тема 1. Знакомство с Figma.
Тема 2. Вёрстка по макету.
Тема 3. Реализация логики по макету.
Задачи по спринту 4.
— попробуете самостоятельно взять кнопку из макета в Figma и реализовать её точную копию, учитывая шрифты, форму и цвета в сториборде.
— создадите экран запуска и основной экран приложения.
— создадите логику приложения в соответствии с функциональными и техническими требованиями.
Спринт 5.
Тема 1. Память и замыкания.
Тема 2. Ответственность.
Тема 3. Хранение данных.
Задачи по спринту 5.
— разобьёте логику работы приложения на несколько частей
— вынесете в отдельную сущность работу по генерации вопросов для квиза.
— напишете класс для ведения статистики, которая будет учитывать лучший счёт игры в квиз среди всех игр.
— сохраните статистику в UserDefaults.
Спринт 6.
Тема 1. Клиент-серверное взаимодействие.
Тема 2. URLSession, URLRequest.
Тема 3. Работа с проектом.
Задачи по спринту 6.
— добавите работу с сетью — фильмы для квиза должны загружаться из открытого API IMDb, должны быть использованы фильмы из топ-250 и самых популярных фильмов IMDb.
— обработаете пользовательский сценарий, чтобы приложение показывало ошибку, если данные из сети не были загружены.
Спринт 7.
Тема 1. Unit-тесты и продукт.
Тема 2. UI-тесты.
Тема 3. Архитектура, требования.
Тема 4. Основные принципы разработки.
Тема 5. Рефакторинг на MVP.
Задачи по спринту 7.
— напишете Unit-тесты.
— напишете UI-тесты.
— проведёте рефакторинг проекта на MVP.