c0dedbear / FocusStartHomeworks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

Focus Start iOS (fall 2019)

Правила сдачи домашнего задания:
  1. Необходимо скачать исходный репозиторий с базовыми файлами для домашнего проекта.
  2. Создать свое решение задачи в виде исходного кода.
  3. Отправить в виде pull request к данному репозиторию с наименованием ветки surname_name/feature_name (наименование ветки обязательно(!) в lowercase. feature_name будет описано отдельно в каждом домашнем задании).

Домашнее задание #1

Название фичи: test
Описание: Необходимо исправить ошибку в приложении

Домашнее задание #2

Название фичи: string_extension
Описание: Написать расширение для класса String, которое добавляет 2 метода:

  • Метод возвращает строку с развернутыми словам
  • Метод проверяет номер мобильного телефона на правильность

Шаблон для заполнения есть в файле String+Extensions.swift. Также в проекте есть тесты на правильность реалиазации новых методов. Тесты запускаются комбинацией клавиш Cmd+U В проекте на гитхабе также настроена автоматическая сборка проекта при пул реквесте.

Домашнее задание #3

Название фичи: high_order_funсtions
Описание: Написать расширение для класса Sequence с тремя методами:

  • своя реализация метода .map(:)
  • своя реализация метода .reduce(:)
  • своя реализация метода .compactMap(:)

⚠️ В реализациях нельзя использовать встроенные методы map, reduce, compactMap

Примечание: методы должны быть дженериками и работать с любыми типами. В аргументах у каждого метода должно присутствовать замыкание, которое определяет как будет изменен массив.

Дополнительно: В тестах вынести в отдельные приватные методы код преобразований массивов (по аналогии с square(of:), uppercase(:), withExclamationMark(:))

Домашнее задание #4

Название фичи: calculator
Описание: Создать прототип калькулятора, взятого из нативного приложения "Калькулятор".

  • Должны использоваться кастомные шрифты, которые уже лежат в проекте
  • Числа из строки должны удаляться свайпами как в оригинальном приложении
  • Приложение должно выглядить хорошо на всех размерах экранов
  • Верстка UI должна быть выполнена в коде
  • Ссылка на дизайн https://www.figma.com/file/3vpxffOmmVULsJdO4AhwcC/calculator?node-id=0%3A1

Домашнее задание #5

Название фичи: marvel-heroes
Описание: Разработать приложение для работы с API Marvel (https://developer.marvel.com)

  • Необходимые материалы находятся в папке MarvelHeroes/resources
  • Задача минимум: Создать экран с поиском героев комиксов Марвел и экран подробностей
  • Следующая стадия: Таб бар с экранами героев, комиксов и авторов. В каждом разделе должен быть поиск по компонентам
  • Максимум: Возможность переходов между экранами разных категорий (Поиск героев -> Подробная информация о герое -> Комикс с данным героем -> Авторы данного комикса -> Другие комиксы автора -> ...)
    P.S. Необходимо создать и настроить проект, по примеру прошлых домашних заданий.

⚠️ Важно Название проекта должно быть MarvelHeroes.xcodeproj и файлы проекта должны находится в папке MarvelHeroes

Дополнительная информация

Как обновить склонированный (forked) репозиторий

Добавить исходный оригинальный репозиторий и назвать его upstream

git remote add upstream https://github.com/ArtemPrivet/FocusStartHomeworks.git

Загрузить все изменения в удаленном репозитории

git fetch upstream

Влить все изменения в свой локальный репозиторий

git merge upstream/master

Отправить изменения на свой удаленный репозиторий

git push

About


Languages

Language:Swift 86.7%Language:Shell 9.0%Language:Ruby 4.3%