Реализованы функции:
- сохранение задач разных типов
- удаление задачи по id
- удаление всех задач определённого типа
- обновление задач
- определение статуса эпиков исходя из статусов подзадач
- возвращение всех подзадач определённого эпика
- сохранение истории просмотра задач всех типов (не больше 10 задач в истории)
- возврат истории просмотра
- сохранение состояния менеджера в файл .csv
В результате работы по ТЗ третьего спринта введён абстрактный класс, от которого наследуются все классы задач. Реализованы интерфейсы менеджера задач и менеджера истории. Введён улититарный класс, который возвращает объекты менеджеров истории и задач по умолчанию. Комментарии к методам прописаны в интерфейсах.
В результате работы по ТЗ четвёртого спринта в истории сохраняется бесконечно е количество задач. Добавление и удаление задач происходит за константное время, благодаря использованию структуры данных LinkedList + HashMap.
В результате работы по ТЗ пятого спринта реализован класс менеджера, который сохраняет своё сотояние в файл и может восстановить менеджер из файла.
В результате работы по ТЗ шестого спринта реализован функционал работы с временем начала и продолжительностью задач, контроль пересечения задач, хранение задач в отсортированном по времени начала. Так же код покрыт тестами.
В результате работы по ТЗ 7го спринта реализован Http менеджер, WEB сервер с внешним api, так же возможность сохранения и восстановления состояния на удалённый KV сервер.