Skip to content

0.1.0

Choose a tag to compare

@Matias311 Matias311 released this 03 Mar 00:53
· 25 commits to main since this release
8ce6cc2

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 id y title; campos opcionales: type, description, priority, status, date, dueDate).
  • Listar todas las tareas.
  • Filtrar tareas por:
    • tipo (TaskType)
    • prioridad (TaskPriority)
    • estado (TaskStatus)
  • 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).
  • Task inmutable con Builder (campos final, 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 > 0 y title obligatorio.
  • Validación de enums para type, priority, status.
  • Fechas aceptan formato YYYY-MM-DD; dueDate debe ser posterior a date.

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