SmartTask es una aplicación de consola escrita en Java que permite gestionar tareas personales. El usuario puede agregar tareas normales o urgentes (con días límite), listarlas separando activas y completadas, marcarlas como completadas y eliminarlas por ID. Los IDs se asignan automáticamente comenzando en 1 y nunca se reutilizan.
El proyecto aplica los fundamentos de la programación orientada a objetos: encapsulamiento, herencia, polimorfismo, interfaces y clases abstractas. Incluye pruebas unitarias con JUnit 5 y cobertura de código con JaCoCo.
mvn clean compilemvn exec:javaO bien, generar el JAR ejecutable y correrlo:
mvn package
java -jar target/smarttask-1.0.0.jarcom.smarttask.Main: Punto de entrada de la aplicación. Presenta el menú interactivo en consola.com.smarttask.model.Tarea: Clase abstracta base con atributosid,nombreycompletado.com.smarttask.model.TareaNormal: Clase concreta que hereda deTareay representa una tarea normal.com.smarttask.model.TareaUrgente: Clase concreta que hereda deTareay añadediasLimitejunto con el métodoestaVencida().com.smarttask.service.Accionable: Interfaz que define las operaciones del gestor de tareas.com.smarttask.service.GestorTareas: ImplementaAccionabley contiene la lógica de gestión de tareas usando una lista.com.smarttask.service.GestorTareasTest: Clase de pruebas unitarias con JUnit 5.