{"id":31762745,"url":"https://github.com/praisel04/aplicaciones-multiplataforma","last_synced_at":"2025-10-09T22:51:00.462Z","repository":{"id":316827790,"uuid":"1065010858","full_name":"Praisel04/Aplicaciones-Multiplataforma","owner":"Praisel04","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-27T00:06:36.000Z","size":204,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-27T01:16:36.061Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Praisel04.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-26T23:03:42.000Z","updated_at":"2025-09-26T23:54:43.000Z","dependencies_parsed_at":"2025-09-27T01:26:40.536Z","dependency_job_id":null,"html_url":"https://github.com/Praisel04/Aplicaciones-Multiplataforma","commit_stats":null,"previous_names":["praisel04/aplicaciones-multiplataforma"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Praisel04/Aplicaciones-Multiplataforma","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Praisel04%2FAplicaciones-Multiplataforma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Praisel04%2FAplicaciones-Multiplataforma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Praisel04%2FAplicaciones-Multiplataforma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Praisel04%2FAplicaciones-Multiplataforma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Praisel04","download_url":"https://codeload.github.com/Praisel04/Aplicaciones-Multiplataforma/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Praisel04%2FAplicaciones-Multiplataforma/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002105,"owners_count":26083307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-09T22:50:59.507Z","updated_at":"2025-10-09T22:51:00.456Z","avatar_url":"https://github.com/Praisel04.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e🗂️ Task Manager App\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eLista de tareas minimalista, accesible y sin dependencias — HTML + CSS + JavaScript\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"HTML5\" src=\"https://img.shields.io/badge/HTML5-E34F26?logo=html5\u0026logoColor=fff\u0026style=for-the-badge\"\u003e\n  \u003cimg alt=\"CSS3\"  src=\"https://img.shields.io/badge/CSS3-1572B6?logo=css3\u0026logoColor=fff\u0026style=for-the-badge\"\u003e\n  \u003cimg alt=\"JavaScript\" src=\"https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript\u0026logoColor=000\u0026style=for-the-badge\"\u003e\n  \u003cimg alt=\"A11y\" src=\"https://img.shields.io/badge/Accessible-A11y-2E7D32?style=for-the-badge\"\u003e\n\u003c/p\u003e\n\n---\n\n## ✨ Descripción\n**Task Manager App** permite **añadir**, **marcar como completadas** y **eliminar** tareas.  \nIncluye **persistencia** con LocalStorage, **contador** de tareas y **feedback accesible** (región `aria-live` con `role=\"status\"`).  \nFunciona con **HTML/CSS/JS vanilla** y se abre con doble clic (no requiere servidor).\n\n---\n\n## 📓 Tabla de Contenidos\n- [Estructura del proyecto](#-estructura-del-proyecto)\n- [Demo](#-demo)\n- [Cómo ejecutar](#-cómo-ejecutar)\n- [Estado actual](#-estado-actual)\n- [Posibles mejoras](#-posibles-mejoras-del-proyecto)\n- [Licencia](#-licencia)\n\n---\n\n## 📦 Estructura del proyecto\n\n```text\nPEC1/\n├─ index.html\n├─ style.css\n├─ app.js\n├─ docs/\n│  └─ demo.png\n├─ LICENSE\n└─ README.md\n\n```\n---\n\n## 📸 Demo\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"PEC1/docs/demo1.png\" alt=\"Demo de la aplicación\" width=\"720\"\u003e\n\u003c/p\u003e\n\n---\n\n## 🚀 Cómo ejecutar\n1. **Descarga o clona** el repo.  \n2. Abre `index.html` con doble clic.  \n3. Escribe una tarea y pulsa \u003ckbd\u003eEnter\u003c/kbd\u003e (o clic en **Add Task**).\n\n\u003e Opcional: servir localmente\n```bash\n# Python 3\npython -m http.server 8080\n\n# Node\nnpx serve .\n```\n---\n\n## ✅ Estado actual\n\n- [x] Interfaz básica (input, botón **Add Task**, lista)\n- [x] Plantilla con `\u003ctemplate\u003e` para cada `\u003cli\u003e`\n- [x] Añadir tareas (validación: no vacías / `trim`)\n- [x] Completar / descompletar (delegación de eventos)\n- [x] Eliminar tareas (con gestión de foco)\n- [x] Contador de tareas (badge junto al título)\n- [x] Persistencia con **LocalStorage** (hidratar + guardar en cambios)\n- [x] Accesibilidad base (label, `role=\"status\"`, `aria-live`, `aria-pressed`)\n- [x] Estilo visual “pro” (foco visible, hover, estado completado)\n- [x] README y LICENSE (MIT)\n- [x] Imagen de demo (`docs/demo.png`) y referencia en el README\n\n---\n\n## 🎯 Posibles mejoras del proyecto\n\n- [ ] **Edición inline** de tareas  \n  Permitir editar el texto de una tarea (doble clic o botón “Editar”), con confirmación (Enter) y cancelación (Esc).  \n  - Recomendado: crear un `\u003cinput\u003e` temporal en lugar de `contenteditable`.\n  - Accesibilidad: `aria-label=\"Editar tarea\"`, foco en el campo al activar la edición.\n\n- [ ] **Filtros** (Todas / Pendientes / Completadas)  \n  Añadir 3 botones o un `\u003cselect\u003e` que apliquen una vista filtrada sin perder el estado interno.  \n  - Sugerencia: no mutes `state.tasks`, solo filtra en el render.\n\n- [ ] **Búsqueda rápida** (opcional)  \n  Input que filtra por texto en tiempo real (coincidencia parcial, case-insensitive).\n\n- [ ] **Sincronización entre pestañas** (opcional)  \n  Escuchar `window.addEventListener('storage', ...)` para re-render cuando cambie el LocalStorage en otra pestaña.\n\n- [ ] **Accesibilidad avanzada (A11y)**  \n  - Mensajes de error/validación asociados con `aria-describedby`.  \n  - Roles/labels en controles de filtro/edición.  \n  - Navegación 100% con teclado (pruebas con `Tab`, `Enter`, `Espacio`, `Esc`).\n\n- [ ] **Tests** (opcional)  \n  - Unitarios con Jest (@testing-library/dom) para: añadir, completar, eliminar, persistencia.  \n  - Smoke test de render inicial.\n\n- [ ] **Despliegue** (opcional recomendado)  \n  GitHub Pages desde rama `gh-pages` o “Pages” en `develop/main`. Verifica rutas relativas de `docs/demo.png`.\n\n- [ ] **Memoria en PDF**  \n  1–3 páginas: objetivo, requisitos cubiertos, decisiones técnicas (template, delegación, LocalStorage), accesibilidad, problemas/soluciones, mejoras futuras.\n\n---\n## Licencia ©️\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpraisel04%2Faplicaciones-multiplataforma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpraisel04%2Faplicaciones-multiplataforma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpraisel04%2Faplicaciones-multiplataforma/lists"}