В этом проекте студентам предлагается создать консольную (можно и сетевую) программу для управления задачами (TODO-list). Программа должна позволять пользователю добавлять, просматривать, обновлять и удалять задачи. Задачи могут иметь различные статусы, такие как "в процессе", "завершено" и т.д.
- Программа должна предоставлять текстовое меню с опциями для выполнения действий с задачами (например, добавление, просмотр, обновление, удаление).
- Задачи должны сохраняться между запусками программы, например, в файле или базе данных.
- Реализована возможность просмотра задач по различным критериям, например, по статусу, дате создания и т.д.
- Обработка ошибок и валидация пользовательского ввода.
Развертывание сервиса должно осуществляться с использованием docker compose в директории с проектом.
Написаны юнит-тесты на core логику приложения. Плюсом будут тесты на транспортном уровне и на уровне хранения.
Максимум - 15 баллов (при условии выполнения обязательных требований):
- Реализован алгоритм - 2 балла.
- Реализовано разделение на слои (транспортный, хранения и т.д.) - 2 балла.
- Реализовано API сервиса - 2 балла.
- Реализован консольный пользовательский интерфейс - 2 балла.
- Написаны юнит-тесты - 1 балл.
- Написаны интеграционные тесты - 2 балла.
- Тесты адекватны и полностью покрывают функциональность - 1 балл.
- Понятность и чистота кода - до 3 баллов.
Зачёт от 10 баллов