Este proyecto es una aplicación de lista de tareas (ToDo) creada utilizando Spring Boot para el backend y React para el frontend. La aplicación permite a los usuarios crear, editar, marcar como hecho/no hecho, eliminar tareas y aplicar filtros de búsqueda y ordenamiento.
Antes de ejecutar la aplicación, asegúrate de tener instalados los siguientes programas:
- Java 17 o superior
- Maven 3.6+
- Node.js (versión 14+)
- npm o yarn
Sigue estos pasos para instalar el proyecto en tu máquina local.
-
Clona el repositorio en tu máquina local:
git clone https://github.com/usuario/repositorio.git
-
Navega al directorio del backend:
cd repositorio/todoapp -
Instala las dependencias del backend con Maven:
mvn clean install
-
Navega al directorio del frontend:
cd repositorio/todoapp/frontend -
Instala las dependencias del frontend con npm o yarn:
npm install
Para ejecutar el backend, navega al directorio raíz del proyecto backend y ejecuta el siguiente comando:
mvn spring-boot:runEsto levantará el servidor backend en http://localhost:9090.
Navega al directorio del frontend y ejecuta el siguiente comando para levantar la aplicación:
npm run startEsto abrirá la aplicación en el navegador en http://localhost:8080.
-
Obtener todas las tareas (paginadas y filtradas):
- GET
/todos/filter - Parámetros opcionales:
page,name,done,priority,sortByPriority,sortByDueDate
- GET
-
Crear una nueva tarea:
- POST
/todos - Datos del cuerpo:
{ "text": "Nombre de la tarea", "priority": "HIGH|MEDIUM|LOW", "dueDate": "YYYY-MM-DD" }
- POST
-
Actualizar una tarea existente:
- PUT
/todos/{id} - Datos del cuerpo:
{ "text": "Nuevo nombre", "priority": "HIGH|MEDIUM|LOW", "dueDate": "YYYY-MM-DD" }
- PUT
-
Marcar tarea como hecha/no hecha:
- POST
/todos/{id}/done - PUT
/todos/{id}/undone
- POST
-
Eliminar una tarea:
- DELETE
/todos/{id}
- DELETE
Para ejecutar las pruebas del backend, navega al directorio del backend y ejecuta:
mvn testEsto ejecutará todas las pruebas unitarias escritas para la aplicación.
Para ejecutar las pruebas del frontend, navega al directorio del frontend y ejecuta:
npm run testEsto ejecutará las pruebas del frontend que estén configuradas.
- Backend: Java, Spring Boot, Maven
- Frontend: React, TypeScript
- Pruebas: JUnit, Mockito, React Testing Library