Один из учебных проектов курса «Middle iOS-Developer» на Swiftbook.
Идея приложения: отображение списка задач с возможностью отмечать задачи выполненными.
Основные возможности:
- Отображение списка задач с разбиением на секции по критерию выполненности.
- Поддержка двух типов задач: обычных и важных.
- У важных задач есть 3 варианта приоритета: высокий, средний и низкий.
- Задачи сортируются по приоритету.
- Возможность менять состояние выполненности задач.
- Подсветка просроченных задач.
- Для получения доступа к списку задач необходимо пройти авторизацию.
Особенности реализации:
- Для получения данных используется
ITaskRepository
. - Для управления задачами используется
ITaskManager
. - Presentation слой реализован с использованием шаблона Clean Swift.
- Вёрстка UI выполнена кодом.
Запуск проекта локально: достаточно клонировать репозиторий, открыть и запустить проект.
Список изменений по порядку выполнения домашних работ:
Домашняя работа 4. Реализованы модели задач, менеджер задач и UI приложения.
Домашняя работа 5. Реализован репозиторий для получения задач, добавлено разбиение на секции по критерию выполненности, реализована сортировка по приоритету.
Домашняя работа 6. Реализован шаблон presentation слоя MVP, применены шаблоны декоратор и адаптер для получения отсортированных задач в виде списка моделей, соответствующих секциям таблицы.
Домашняя работа 7. Реализован шаблон presentation слоя Clean Swift, добавлен экран авторизации.