Una aplicación de lista de tareas (To‑Do) hecha con React, ideal para aprender y practicar conceptos clave: componentes, estado, hooks y almacenamiento local.
- Características
- Requisitos
- Instalación
- Uso
- Historias de usuario
- Arquitectura & Estilo
- Mejoras posibles
- Contribución
- Licencia
- Añadir, marcar como completada, editar y eliminar tareas.
- Filtro para ver: todas, activas o completadas.
- Persistencia automática con
localStorage. - Interfaz sencilla, responsiva y funcional.
- Node.js ≥ 16
- npm o yarn
git clone https://github.com/FrancoDavid/todo-react.git
cd todo-react
npm install # o yarn install
npm start # ejecuta en http://localhost:3000- Abre tu navegador en
http://localhost:3000. - Escribe una tarea y presiona Enter o el botón para agregarla.
- Marca tareas como completadas, edítalas o elimínalas.
- Cambia el filtro para ver el estado de las tareas.
- Recarga y continúa: las tareas se guardan en
localStorage.
Basado en la guía de MDN para apps To‑Do en React, tu aplicación cumple con las siguientes historias ([developer.mozilla.org][1], [dev.to][2], [es.linkedin.com][3]):
- Leer una lista de tareas.
- Agregar tareas con teclado o clic.
- Marcar tareas como completadas.
- Editar tareas existentes.
- Eliminar tareas.
- Filtrar vista por estado (todas/activas/completadas).
- Create‑React‑App como base.
- Componentes reutilizables:
Task,TaskList,AddTask,Filter. - Hooks:
useState,useEffectpara manejar estado y persistencia. localStorageconuseEffectpara sincronizar cambios automáticamente.
- Optimización con
React.memoen lista de tareas (importante para filtros extensos). - UI avanzada con librerías como Material‑UI o Tailwind.
- Migración de estado a Context o Redux.
- Añadir animaciones con Framer Motion.
- Agregar tests unitarios con Jest + React Testing Library.
- Persistencia backend (Firebase, Mongo…).
¡Colabora y potencia este proyecto!
- Haz un fork 🌱
- Crea una rama
feature/tu-mejora - Realiza cambios claros y probados
- Abre un PR explicando tu aporte
Licencia MIT. Consulta el archivo LICENSE para detalles.