92 lines
3.5 KiB
Markdown
92 lines
3.5 KiB
Markdown
# TodoApp
|
||
|
||
## Описание
|
||
|
||
TodoApp - это консольное приложение для управления списком задач, разработанное на Java в качестве учебного проекта. Приложение построено на универсальной архитектуре с использованием generics, что позволяет легко расширять функционал для работы с различными типами сущностей.
|
||
|
||
|
||
### Особенности
|
||
- Консольный интерфейс с интуитивными командами
|
||
- Универсальная архитектура на базе `EntityService` и `Repository<T>`
|
||
- Поддержка поиска задач по тексту
|
||
- Красивое табличное отображение данных
|
||
- Типобезопасность через использование generics
|
||
|
||
|
||
## Требования
|
||
|
||
- Java 24 или выше
|
||
- Maven 3.8.x или выше
|
||
|
||
|
||
## Установка и запуск
|
||
|
||
```bash
|
||
cd ./todo
|
||
mvn clean package
|
||
java -jar ./target/todo.jar
|
||
```
|
||
|
||
|
||
## Использование
|
||
|
||
### Доступные команды
|
||
- `create <название_задачи>` - Создать новую задачу
|
||
- `list` - Показать список всех задач в табличном виде
|
||
- `complete <id>` - Отметить задачу как выполненную
|
||
- `delete <id>` - Удалить задачу по 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 |