Skip to content

Gestión de tareas con Signals, Zoneless Change Detection y persistencia en LocalStorage. Desplegada en Firebase Hosting.

License

Notifications You must be signed in to change notification settings

luiscacuango2/todoapp

Repository files navigation

Mi Día - TodoApp (Angular 21)

Angular Signals Zoneless Firebase License: MIT Platzi

Una aplicación de gestión de tareas de alto rendimiento construida con las últimas innovaciones del ecosistema Angular. Este proyecto ha sido auditado para garantizar eficiencia, reactividad pura y compatibilidad cross-browser.

Demo en vivo: https://mydayapp-9a59e.web.app/


Stack Tecnológico e Innovaciones

Este proyecto no utiliza la detección de cambios tradicional. Se ha implementado bajo estándares modernos:

  • Angular 21 (Zoneless): Configurada con provideExperimentalZonelessChangeDetection() para eliminar la dependencia de zone.js, logrando aplicaciones más ligeras y rápidas.
  • Gestión de Estado con Signals: Uso intensivo de signal, computed y effect para una reactividad granular y predecible.
  • Control Flow Syntax: Implementación de @if, @for y @switch para un renderizado de plantillas más limpio y eficiente.
  • Persistencia: Sincronización automática con LocalStorage mediante efectos reactivos.
  • Despliegue: Hosting profesional en Firebase.

Características Principales

  • Creación de Tareas: Input optimizado con validaciones mediante ReactiveFormsModule.
  • Filtros Inteligentes: Visualización dinámica de tareas (Todas, Pendientes, Completadas) mediante señales computadas.
  • Edición en Tiempo Real: Modo de edición con doble clic y guardado automático.
  • Limpieza Masiva: Borrado de tareas completadas de forma atómica.
  • Contador Dinámico: Resaltado visual de tareas pendientes según el filtro activo.
  • Auditada para Navegadores: Corrección de errores de renderizado específicos de Firefox (DOMException).

Instalación y Uso

  1. Clonar el repositorio:
    git clone https://github.com/luiscacuango2/todoapp.git
  2. Instalar dependencias:
     npm install
  3. Servidor de desarrollo:
     ng serve
    Navega a http://localhost:4200/
  4. Producción (Build):
     ng build

Estructura del Proyecto

  • src/app/pages/home/: Componente principal con la lógica de negocio.
  • src/app/models/: Definición de interfaces de datos (Entes).
  • src/app/app.config.ts: Configuración Zoneless y Providers.

Desarrollado con enfoque en Clean Code y Arquitectura Reactiva.


Recursos y Agradecimientos

Este proyecto fue posible gracias al estudio de documentación avanzada y el apoyo de la comunidad de Angular:

  • Angular.dev: Por la documentación oficial sobre Signals y la nueva sintaxis de control de flujo.
  • Angular University: Por sus guías profundas sobre el modo Zoneless y optimización de Change Detection.
  • TodoMVC: Por proporcionar el estándar de diseño y funcionalidad para aplicaciones de gestión de tareas.
  • Comunidad Open Source: Por las herramientas de auditoría y testing que facilitan el desarrollo cross-browser.

Agradecimiento Especial

Este proyecto es el resultado de mi aprendizaje en Platzi. Gracias a sus cursos de Angular, pude dominar conceptos avanzados como la gestión de estado con Signals, la optimización del rendimiento con el modo Zoneless y las mejores prácticas para el despliegue de aplicaciones modernas.

"Nunca pares de aprender"


Licencia

Este proyecto está bajo la Licencia MIT. Esto significa que eres libre de usarlo, copiarlo y modificarlo, siempre que mantengas la atribución original.

Consulta el archivo LICENSE para más detalles.


Contribuciones

¡Las contribuciones son lo que hacen de la comunidad de código abierto un lugar increíble para aprender, inspirar y crear! Cualquier aportación que hagas será muy apreciada.

Si tienes alguna sugerencia para mejorar este "ente" reactivo, por favor consulta nuestra guía detallada:

Guía de Contribución (CONTRIBUTING.md)

  1. Haz un Fork del proyecto.
  2. Crea una rama para tu mejora (git checkout -b feature/MejoraIncreible).
  3. Realiza tus cambios y haz un commit (git commit -m 'Add: Nueva funcionalidad').
  4. Haz un Push a la rama (git push origin feature/MejoraIncreible).
  5. Abre un Pull Request.

Autor

Desarrollado con dedicación por Luis CacuangoPerfil de GitHub

"Construyendo el futuro del frontend, una señal a la vez."

About

Gestión de tareas con Signals, Zoneless Change Detection y persistencia en LocalStorage. Desplegada en Firebase Hosting.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published