0.1.0
Release 0.1.0 — Task Tracker (CLI v0)
Primera versión funcional del Task Tracker en consola en Java, con arquitectura por capas, persistencia en memoria y suite inicial de tests.
Features
- Crear tareas (mínimo
idytitle; campos opcionales:type,description,priority,status,date,dueDate). - Listar todas las tareas.
- Filtrar tareas por:
- tipo (
TaskType) - prioridad (
TaskPriority) - estado (
TaskStatus)
- tipo (
- Completar tareas y marcarlas como “undone” (volver a TODO).
- Ordenar tareas por fecha límite (due date) y por prioridad.
- Buscar tarea por id (devuelve
Optional). - Ver solo tareas completadas.
- Eliminar tareas.
Architecture / design
- Capas:
domain,repository,service,cli. - Repositorio en memoria (
TaskRepository+ implementación). Taskinmutable con Builder (camposfinal, defaults y validaciones; actualizaciones crean nuevas instancias).- CLI basada en Command: acciones del menú encapsuladas como comandos y ejecutadas mediante
CommandHistory.
Validation & rules
- Validación de
id > 0ytitleobligatorio. - Validación de enums para
type,priority,status. - Fechas aceptan formato
YYYY-MM-DD;dueDatedebe ser posterior adate.
Testing
- JUnit 5 con cobertura de
TaskService:- create/list
- filtros + casos inválidos
- complete/undone + casos nulos/estado inválido
- search by id + id inválido
- delete + null
Build
- Maven + Java 17
- Dependencias: JUnit Jupiter 5.11 +
junit-jupiter-params