# TodoApp ## Описание TodoApp - это консольное приложение для управления списком задач, разработанное на Java в качестве учебного проекта. Приложение построено на универсальной архитектуре с использованием generics, что позволяет легко расширять функционал для работы с различными типами сущностей. ### Особенности - Консольный интерфейс с интуитивными командами - Универсальная архитектура на базе `EntityService` и `Repository` - Поддержка поиска задач по тексту - Красивое табличное отображение данных - Типобезопасность через использование generics ## Требования - Java 24 или выше - Maven 3.8.x или выше ## Установка и запуск ```bash cd ./todo mvn clean package java -jar ./target/todo.jar ``` ## Использование ### Доступные команды - `create <название_задачи>` - Создать новую задачу - `list` - Показать список всех задач в табличном виде - `complete ` - Отметить задачу как выполненную - `delete ` - Удалить задачу по ID - `search <текст>` - Найти задачи по тексту (минимум 3 символа) - `help` - Показать список всех команд - `exit` - Выйти из приложения ## Пример использования ```shell todo> create Изучить Java generics Задача "Изучить Java generics" успешно добавлена! todo> create Написать документацию Задача "Написать документацию" успешно добавлена! todo> list ID │ Название задачи │ Статус -------------------------------------------------- 1 │ Изучить Java generics │ В процессе 2 │ Написать документацию │ В процессе todo> complete 1 Задача ID-1 выполнена. todo> search Java ID │ Название задачи │ Статус -------------------------------------------------- 1 │ Изучить Java generics │ Выполнена ``` ## Версии Актуальная версия: 2.2.0 ### История изменений - 2.2.0 - Универсальная архитектура с generics, утилиты форматирования - 2.1.0 - Добавлена команда поиска, улучшено отображение - 2.0.0 - Базовый функционал управления задачами Подробная история изменений доступна в CHANGELOG.md ### Разработка Проект использует современные подходы Java-разработки: - Generic programming для типобезопасности - Разделение ответственности через слоистую архитектуру - Command pattern для CLI-команд - Repository pattern для работы с данными ## Лицензия MIT