Este proyecto es un sistema básico de gestión de tareas desarrollado en Java, diseñado para demostrar habilidades en programación orientada a objetos (OOP), estructuras de datos, y pruebas unitarias. Es una herramienta funcional que permite a los usuarios crear, editar, eliminar, listar, buscar y filtrar tareas mediante un menú interactivo en consola.
- Estructura de datos personalizada: Uso de listas enlazadas para almacenar tareas.
- Programación funcional: Ordenamiento, búsqueda y filtrado eficiente de tareas usando Streams y lambdas.
- Diseño modular: Clases independientes para manejar las tareas y su gestión.
- Pruebas unitarias completas: Validación exhaustiva de las funcionalidades con JUnit, incluyendo casos límite.
- Interfaz amigable: Menú interactivo para facilitar el uso del sistema.
- Generación de reportes: Archivo de resultados generado automáticamente para pruebas unitarias.
- Lenguaje: Java 22
- Pruebas: JUnit 5.9
- IDE: IntelliJ IDEA
- Tener instalado Java 22.
- IntelliJ IDEA o cualquier editor de código compatible con Java.
- Clona el repositorio o copia los archivos del proyecto en tu máquina local.
- Abre el proyecto en IntelliJ IDEA.
- Asegúrate de configurar correctamente los archivos JAR necesarios para JUnit en el proyecto:
junit-jupiter-api-5.9.2.jarjunit-jupiter-engine-5.9.2.jar
- Compila el proyecto:
javac -d out src/main/tasks/*.java src/main/TaskManagementSystem.java - Ejecuta la aplicación:
java -cp out TaskManagementSystem
-
Agregar Tarea:
- Crea una nueva tarea con título, descripción, prioridad y estado.
-
Editar Tarea:
- Modifica los atributos de una tarea existente mediante su ID.
-
Eliminar Tarea:
- Elimina una tarea específica identificada por su ID.
-
Listar Tareas:
- Muestra las tareas ordenadas por prioridad (BAJA, MEDIA, ALTA).
-
Buscar Tareas:
- Busca tareas por palabras clave en el título o descripción.
-
Filtrar Tareas:
- Filtra las tareas por estado (PENDIENTE, EN PROGRESO, COMPLETADA).
-
Obtener Tarea por ID:
- Permite obtener los detalles de una tarea específica usando su identificador único.
Las pruebas unitarias se encuentran en src/test/TaskManagerTest.java. Validan las principales funcionalidades del sistema, incluyendo:
- Creación de tareas.
- Edición de tareas.
- Eliminación de tareas.
- Listado y ordenamiento de tareas por prioridad.
- Búsqueda por palabra clave.
- Filtrado de tareas por estado.
- Manejo de IDs inexistentes.
- Obtener tareas específicas por ID.
El sistema genera un archivo llamado test_results.txt que resume los resultados de las pruebas unitarias, indicando si cada prueba fue exitosa o fallida, junto con detalles relevantes.
- Asegúrate de que JUnit esté configurado en el proyecto.
- Corre las pruebas desde IntelliJ IDEA o usando la línea de comandos:
java -cp "libs/*:src" org.junit.platform.console.ConsoleLauncher --select-class TaskManagerTest
TareaModuloDos
├── src
│ ├── main
│ │ ├── Task.java // Clase que define una tarea.
│ │ ├── TaskManager.java // Clase que gestiona las operaciones sobre las tareas.
│ │ ├── TaskManagementSystem.java // Clase principal con menú interactivo.
│ ├── test
│ ├── TaskManagerTest.java // Pruebas unitarias para TaskManager.
├── libs // Carpeta con archivos JAR necesarios para JUnit.
├── test_results.txt // Archivo generado con resultados de pruebas.
└── README.md // Este archivo.
Julio
Desarrollador Backend en formación
- Implementar persistencia de datos usando archivos o bases de datos.
- Crear una interfaz gráfica para el sistema.
- Optimizar los algoritmos para manejo de tareas con grandes volúmenes de datos.
- Incluir autenticación y manejo de múltiples usuarios.