# 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